亿元级IT行业生态链
一站式解决方案提供商

24小时免费咨询电话
010-52725243

新闻资讯

AJIA NEWS

石家庄阿甲:浅谈Java中最基本的开发技术有哪些

来源:阿甲视点 发布日期:2018-01-26

对于一个有着工作经验的Java程序员来说,Java最基本的开发技术有哪些是必须要掌握的,下面就来说说一些常用到的Java研发技术。


1、基本语法:


Static:


static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。但是要注意的是,虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的。


Final:


一个类中的方法如果被final关键字修饰,则其子类无法覆写该方法,只能被子类继承。如果父类中的某个方法不想被其子类所覆写,可将该方法定义为final类型,另外,父类中的私有方法(即被private关键字修饰的方法)也不允许被子类所覆写,所以父类中被private关键字修饰的方法默认为final类型,被final关键字修饰的方法有如下特质:


该方法被锁定,可以防止任何继承类修改它的意义和实现;高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率;另外,使用final修饰的静态方法在其所属类的子类中不能被隐藏(hide);


Transient:


一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个的所有属性和方法都会自动序列化。但是有种情况是有些属性是不需要序列号的,所以就用到这个关键字。只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。


foreach循环的原理:


在平时Java程序中,应用比较多的就是对Collection集合类的foreach遍历,foreach之所以能工作,是因为这些集合类都实现了Iterable接口,该接口中定义了Iterator迭代器的产生方法,并且foreach就是通过Iterable接口在序列中进行移动。


2、集合:


ArrayList:


ArrayList是一个其容量能够动态增长的动态数组。它继承了AbstractList,实现了List、RandomAccess,Cloneable,java.io.Serializable。


基本的ArrayList,长于随机访问元素,但是在List中间插入和移除元素时较慢。同时,ArrayList的操作不是线程安全的!一般在单线程中才使用ArrayList,而在多线程中一般使用Vector或者CopyOnWriteArrayList。


LinkedList:


LinkedList其实也就是我们在数据结构中的链表,这种数据结构有这样的特性:

分配内存空间不是必须是连续的;

插入、删除操作很快,只要修改前后指针就OK了,时间复杂度为O(1);

访问比较慢,必须得从第一个元素开始遍历,时间复杂度为O(n);

在Java中,LinkedList提供了丰富的方法,可以模拟链式队列,链式堆栈等数据结构,为用户带来了极大的方便


Hashtable与HashMap:


hastmap(不是线程安全的)是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable(是线程安全的)不允许。


ConcurrentHashMap:


ConcurrentHashMap将数据分为很多段(Segment),Segment继承了ReentrantLock,每个段都是一把锁。每个Segment都包含一个HashEntry数组,HashEntry数组存放键值对数据。当一个线程要访问Entry数组时,需要获取所在Segment锁,保证在同一个Segment的操作是线程安全的,但其他Segment的数据的访问不受影响,可以实现并发的访问不同的Segment。同一个段中才存在竞争关系,不同的段之间没有竞争关系。


HashSet:


对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,查看 HashSet 的源代码.


3、装饰器模式:


装饰模式是对客户端以透明的方式扩展对象的功能,是继承关系的一个替代方案。也就是说,客户端并不会觉得对象在装饰前和装饰后有什么不同,装饰模式可以在不用创造更多子类的情况下,将对象的功能加以扩展,装饰模式的关键在于这种扩展是完全透明的。


4、多线程:


多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。


5、 IO:


Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。


6、JDK源码:


在JDK源码中String类源代码可谓是重中之重,因此在java中对于String类源码引用的数量也是最多的。java保证其不变性,其有很多方法例如substring() , concat() , replace() , join(), toLowerCase() , trim() , format() 等都似乎是会改变现有的对象,当然这不会发生。读String类的源代码就可以知道,一般是new String()方法,这些方法实际上返回的是一个新的String对象而并没有改变原来的String对象。


石家庄阿甲Java程序员,在对Java研发项目的过程中,对于这些Java最基本的开发技术也做了大量的开发工作,目的是方便Java程序员在后期的修改能够方便快捷。


免责声明:本文由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除

欢迎访问阿甲科技集团官方网站!