回答数
6
浏览数
440
困于晨星
首先起码有自己的技术体系结构,并可以持续丰富这个体系结构;主动寻找大型项目的机会,提高自己的综合能力;除了写博客之外,录制一些编程开发的视频,扩展自己的技能;编码能力(点(算法)、线(设计模式、组织代码)、面(框架和学习、理解和应用)、体(操作系统、计算机网络、编译原理等))业务能力(理解需求或问题能力、沟通和协调资源能力、预估和安排计划能力、调研和解决问题能力)
1.接口和抽象类的区别
抽象类里可以有构造方法,而接口内不能有构造方法。抽象类中可以有普通成员变量,而接口中不能有普通成员变量。抽象类中可以包含非抽象的普通方法,而接口中所有的方法必须是抽象的,不能有非抽象的普通方法。抽象类中的抽象方法的访问类型可以是public ,protected和默认类型,但接口中的抽象方法只有public和默认类型。抽象类中可以包含静态方法,接口内不能包含静态方法。抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static类型,并且默认为public static类型。一个类可以实现多个接口,但只能继承一个抽象类。接口更多的是在系统框架设计方法发挥作用,主要定义模块之间的通信,而抽象类在代码实现方面发挥作用,可以实现代码的重用。
虚拟机的运行时数据区有几块?线程私有和线程共享区域有哪些?
程序计数器:线程私有,当前县城执行的字节码的行号指示器。虚拟机栈:线程私有,存放基本数据类型、对象引用和returnAddress类型。本地方法栈:为虚拟机使用到的Native方法服务。Java堆:线程共享,存放对象的实例,也是GC回收器管理的主要区域。方法区:线程共享,存放已被虚拟机加载的类信息、常量、静态变量、即时编译后的代码等数据。运行时常量池:方法区的一部分,存放编译期生成的各种字面量和符号引用。直接内存:不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域,容易引起OOM异常,NIO会调用,不受Java堆大小的限制。
和HashTable区别?
Hashtable是基于陈旧的Dictionary类的,HashMap是Java 引进的Map接口的一个实现。Hashtable的方法是同步的,而HashMap的方法不是,因此HashTable是线程安全的,但是代码的执行效率上要慢于HashMap。HashMap允许空值和空键,但是HashTable不可以。HashMap非同步实现Map接口,是一个“链表数组”的数据结构,最大承载量是16,可以自动变长,由Entry[]控制(key,value,next),hashCode()判断key
接下来是一些经验和需要的框架
3-5年软件研发经验,2年以上软件架构设计经验;精通weblogic、jboss tomcat、websphere等应用服务器精通linuxwindows系统上的安装部署、配置及性能调优;掌握EJB、servlet、JSP等技术掌握Spring MVC、dubbo、Spring boot、spring cloud、hibernate、MyBatis等开源框架掌握分布式开发新技术;熟练掌握HTML、CSS、Javascript等WEB页面设计与编程熟悉AJAX;精通数据库技术,至少精通SQLServerDB2OracleMysql中两种数据库;精通OOD、OOP及软件架构设计模式至少熟悉UML及VisioRational RosePowerDesigner中一种设计工具;熟悉软件工程思想与软件设计开发流程;有Redis和MongDB、Memcached应用经验优先;良好的沟通协调能力,具备良好的学习能力和潜力;
对月下酒
要成为一名中级Java开发工程师,您需要掌握一定的Java编程知识和技能,并有一定的实际项目开发经验。这些知识和技能可能需要花费一定的时间才能掌握。具体而言,一般来说,如果您是一名初级Java开发工程师,需要掌握Java语言的基础知识,包括数据类型、流控制、对象和类等,并能够熟练使用Java的基本API,例如String、ArrayList和HashMap等。此外,您还需要了解Java的开发工具和环境,例如Java虚拟机(JVM)、Java编译器和Java IDE等。如果您要成为一名中级Java开发工程师,除了上述的基础知识和技能之外,您还需要掌握一些进阶知识和技能,例如面向对象编程(OOP)、数据结构与算法、多线程编程、数据库操作、Web开发等。此外,您还需要有一定的实际项目开发经验,能够独立完成一些中等规模的项目,并能够熟练使用Java的高级API,例如Reflection、IO和Swing等。具体而言,要成为一名中级Java开发工程师,需要花费一定的时间去学习和实践。如果您是一名初学者,大概需要1-2年的时间才能掌握这些知识和技能。如果您有一定的编程基础,可能需要6-12个月的时间才能掌握这些知识和技能。不过,具体的时间取决于您的学习方法和学习效率。另外,要成为一名中级Java开发工程师,您还需要不断学习和实践,并不断提升自己的技能和经验。Java是一门持续发展的编程语言,它不断更新和发展,因此您需要不断学习新的知识和技能,才能保持自己的技能水平。总之,要成为一名中级Java开发工程师,需要花费一定的时间和精力去学习和实践,并不断提升自己的技能和经验。只有这样,才能在Java开发领域中取得更好的成绩。
优质工程师报名问答知识库