问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java开发工程师必须要学的技术有哪些

发布网友 发布时间:2022-04-23 11:54

我来回答

2个回答

热心网友 时间:2022-05-11 03:21

展开1全部先明白了解什么是Java的四个方面。

初学者先弄清这些Java的基本概念也是必不可少的,死记硬背肯定是不行的,重在理解,理解它们之间的区别与联系,分别有哪些应用。想想这些代码中用到了哪些知识点。不要一味地照着书本敲代码。而不去理解。

Java编程语言,即语法。

Java文件格式,即各种文件夹、文件的后缀。

Java虚拟机(JVM),即处理*.class文件的解释器。

Java应用程序接口(Java API)。

掌握静态方法和属性

静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。

三、初学者还需明白JAVA的三个技术平台的关系。

Java分为三个体系,分别为Java SE(J2SE,Java2 Platform Standard Edition,标准版)。

JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企业版)。

Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。

要知道java是分两部分的:一个是编译,一个是运行。

javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。

java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.

四、掌握JAVA代码的基本格式

1、Java注释尽可能全面

对于方法的注释应该包含详细的入参和结果说明,有异常抛出的情况也要详细叙述:类的注释应该包含类的功能说明、作者和修改者。

2、多次使用的相同变量最好归纳成常量

多处使用的相同值的变量应该尽量归纳为一个常量,方便日后的维护。

3、尽量少的在循环中执行方法调用

尽量在循环中少做一些可避免的方法调用,这样可以节省方法栈的创建。例如:

for(int i=0;i

System.out.println(i);

}

可以修改为:

for(int i=0,size=list.size();i

System.out.println(i);

}

4、常量的定义可以放到接口中

在Java中,接口里只允许存在常量,因此把常量放到接口中声明就可以省去public static final这几个关键词。

5、ArrayList和LinkedList的选择

这个问题比较常见。通常程序员最好能够对list的使用场景做出评估,然后根据特性作出选择。ArrayList底层是使用数组实现的,因此随机读取数据会比LinkedList快很多,而LinkedList是使用链表实现的,新增和删除数据的速度比ArrayList快不少。

6、String,StringBuffer和StringBuilder

这个问题也比较常见。在进行字符串拼接处理的时候,String通常会产生多个对象,而且将多个值缓存到常量池中。例如:

String a=“a”;

String b=“b”;

a=a+b;

这种情况下jvm会产生“a”,“b”,“ab”三个对象。而且字符串拼接的性能也很低。因此通常需要做字符串处理的时候尽量采用StringBuffer和StringBuilder来。

7、包装类和基本类型的选择

在代码中,如果可以使用基本数据类型来做局部变量类型的话尽量使用基本数据类型,因为基本类型的变量是存放在栈中的,包装类的变量是在堆中,栈的操作速度比堆快很多。

8、尽早的将不再使用的变量引用赋给null

这样做可以帮助jvm更快的进行内存回收。当然很多人其实对这种做法并不感冒。

9、在finally块中对资源进行释放

典型的场景是使用io流的时候,不论是否出现异常最后都应该在finally中对流进行关闭。

10、在HashMap中使用一个Object作为key时要注意如何区分Object是否相同

在jdk的HashMap实现中,判断两个Object类型的key是否相同的标准是hashcode是否相同和equals方法的返回值。如果业务上需要对两个数据相同的内存对象当作不同的key存储到hashmap中就要对hashcode和equals方法进行覆盖。

Java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器方、3层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。 由于很多语言没有这么强大的集合框架体系,很多初学者不知所措,更不知道拿来做什么用,因此应该引起足够的重视。

热心网友 时间:2022-05-11 04:39

基本语法:
  Static,Transient,foreach循环的原理,Switch,java反射机制,单线程安全类demo,常规算法等关键字作用,至少掌握其用法和场景
  Exception和Error区别
  Exception是程序错误,可控或不可控,可在程序中捕获异常
  Error是系统异常,不可控,可能的话可在系统中捕获异常
  java.util.Date和java.sql.Date的区别及应用
  java.util.Date 就是在除了SQL语句的情况下面使用
  java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分,它都有getTime方法返回毫秒数,自然就可以直接构建
  java.util.Date 是 java.sql.Date 的父类
  java.util.Date d = new java.util.Date(sqlDate.getTime());
  java.util.Date d=new java.util.Date (date.getTime());
  ArrayList和L‌‌inkedList的大致区别:
  1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
  2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
  3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
  设计模式
  设计模式在工作中还是非常重要、非常有用的,23种设计模式中重点研究常用的十来种就可以了,面试中关于设计模式的问答主要是三个方向:
  (1)你的项目中用到了哪些设计模式,如何使用。
  (2)知道常用设计模式的优缺点。
  (3)能画出常用设计模式的UML图。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么网页突然自动关闭 网页为什么会突然自动关闭 网页自动关闭什么原因 怎么在微信里面自己组建群聊 门开在东南角,北面中间有窗,办公桌如何摆放 请推荐一款app导航系统,地图信息准确,界面友好,主要用于在境外... 急求一款app导航系统,地图信息准确,界面别太多杂乱的东西,主要用在境外... 欠了闪银3600,逾期125天,今天算了下,差不多要还6000,不还会怎么样?_百 ... 怎么进出口货物老被查验,难道被盯上了?海关是如何查验的,海关查验... 来料加工海关会查什么 外贸知识:海关查验详解 两份offer,算法工程师和java开发岗,如何选 如何从普通JAVA程序员向机器学习算法工程师转变 JAVA,做算法和工程有什么区别 win7 win8.1 哪个好 win7和win8.1哪个占用内存大 win8.1和win7的区别 win8.1和win7哪个好 为什么啊? win8.1和win7哪个更稳定 win7和win8.1哪个比较好用? windows7和windows8.1哪个系统好?为什么? win7和win8.1哪个快 win7系统和win8.1哪个好 win7 win8和win8.1哪个占用系统内存更大 哪个更流畅呢 求大神解答 win7和win8点1哪个好用呀 win7好还是win8.1好? win7和win8.1哪个好?为什么? win7和win8.1哪个好用??? win7和win8.1哪个好用 Windows 8.1 和Windows7旗舰版,哪个好? 小米盒子遥控器确定键失灵 java专业要学些什么内容? 我目前是一个Java开发工程师,如果我想要学习算法的话需要用到哪类数学知识,我是高中数学水平。 想问java能不能用来学习算法,我没学C++ JAVA工程师除了要学SQL SERVER,数据结构,算法外,还要学什么啊?数据库是必学,还很重要吗 如何在网上输入车牌号查车险? 关于java新闻网站的算法 怎么在网上查询车子保险 怎么在网上查询车险 Java数据结构与算法,求解一题顺序表 怎么在网上查询汽车是入哪家保险公司的? MATLAB和Java对于小白哪个编算法难 网上怎么查车的保险 网上怎么查我的车险 拉杆箱连塑料皮带轮子一起掉了,怎么粘结,最好有一个不用重买的方法 密码箱轮子坏了怎么办 2021考研选择专业:哪些专业考数学二? 考研数学二都考哪些??哪些不考 行李箱的轮子掉了怎么办 数二考研范围有哪些? 研究生考试工科专业考数二的有哪些?