java
文章平均质量分 66
iCoding91
KISS
keep it simple and short
展开
-
持久化框架ibatis、hibernate和Jpa优缺点分析
简介Java中的对象-关系映射是一项棘手的业务,诸如JDBC和实体bean一类的解决方案并未受到多大的欢迎,不过新一代的ORM解决方案倒是因此而出现了。这些工具使得编程更加的容易,并且是更加严格地遵循面向对象编程和多层次架构开发的理念。学习如何基于诸如查询语言支持、性能以及跨不同关系数据库的移植性等因素来比较Hibernate、iBATIS和Java Persistence API。转载 2016-10-23 19:59:07 · 7392 阅读 · 0 评论 -
HashMap为什么是线程不安全的?
一直以来只是知道HashMap是线程不安全的,但是到底HashMap为什么线程不安全,多线程并发的时候在什么情况下可能出现问题?HashMap底层是一个Entry数组,当发生hash冲突的时候,hashmap是采用链表的方式来解决的,在对应的数组位置存放链表的头结点。对链表而言,新加入的节点会从头结点加入。javadoc中关于hashmap的一段描述如下:此实现不是同步的。如果多个转载 2016-10-24 11:28:11 · 361 阅读 · 0 评论 -
eclipse中导入项目外部的jar包时出现.classpath can`t be write
我们从别的电脑复制的Java项目到自己的电脑上时,很容易出现.classpath拒绝访问的问题,原因是:.classpath,.project 这两个文件都隐藏了,取消隐藏就行了原创 2016-10-26 15:52:20 · 1056 阅读 · 0 评论 -
Java集合题
问题:某班30个学生的学号为20070301-20070330,全部选修了Java程序设计课程,给出所有同学的成绩(可用随机数产生,范围60-100),请编写程序将本班各位同学的成绩按照从低到高排序打印输出。 要求:分别用List、Map、Set来实现,打印的信息包括学号、姓名和成绩。1、使用List集合来实现[java] view转载 2016-10-18 18:43:12 · 1384 阅读 · 0 评论 -
java惰性初始化的小例子
1、为什么要有使用惰性初始化: 因为类中为基本类型时,能够自动被初始化为0,但是对象引用会被初始化为null。编译器不是简单的为每一个引用创建对象创建默认对象,这一点是很有用的,因为真要那样的话,会在很多情况下增加很多开销。那么如果想初始化这些引用,就可以在代码中的很多位置进行,其中“惰性初始化”是其中的一种方式。2、代码如下:[看的别人的代码,自己又敲了一遍,深入理解了一下]/*原创 2016-11-10 22:13:32 · 3157 阅读 · 0 评论 -
JDK、JRE、JVM之间的关系
JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核转载 2016-11-29 19:29:27 · 372 阅读 · 0 评论 -
对Spring中的IOC理解
1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。图1:软件系统中耦合的对象如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从而在表盘上产生正确的时间。图1中描述的就是这样的一个齿轮组,它拥有多个独立的齿轮,这些齿轮相互啮合转载 2016-11-29 20:34:42 · 383 阅读 · 0 评论 -
单例模式的常见应用场景
单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此有些设计大师并把把其称为设计模式之一。这里又不具体讲如何实现单例模式和介绍其原理(因为这方便的已经有太多的好文章介绍了),如果对单例模式不了解的可以先看下:http://terrylee.cn转载 2016-11-02 18:02:55 · 348 阅读 · 0 评论 -
推荐JAVA学习路线
一直以来,都想写一篇介绍Java学习路线的博客。为什么有这个想法?原因有两个,其一:笔者从大三开始学习JAVA,至今也3年了。由于身边缺乏老司机带路,只能自己一步步探索,深知没人指路的痛苦。所以看过很多垃圾的书籍(没办法,国内书籍市场门槛太低),但功夫不负有心人,一些经典的书籍也都撸过了(关于书籍,下文中会介绍)。其二:由于JAVA进入门槛低,所以存在一些学个SSH框架就觉得JAVA不过如此之流,转载 2016-11-20 09:05:33 · 536 阅读 · 0 评论 -
关于Idea IDE可以自动生成java代理的生产过程栗子
1、新建一个java类,SpaceShipDelegation,如下:package reusing;/** * Created by caoxiaohong on 16/11/20. * 测试idea可以手动选择生成代理 * */public class SpaceShipDelegation {}2、在SpaceShipDelegation类上面创建一个要被代原创 2016-11-21 21:37:28 · 2835 阅读 · 1 评论 -
java二维数组简单遍历方式
1、代码如下:public class OverrideTest { public static void main(String[] args){ /* h2 test=new h2(1); test.t1(); test.t2('c');*/ int temp[][]=new int[3][]; temp原创 2016-11-22 10:17:43 · 3929 阅读 · 0 评论 -
java double转string
Java中,double转string可以用Double.toString(d)的方式。但是,这种方式有隐藏的坑,请大家看仔细了:package hello;public class DoubleToString { public static void test1(double dou) { String dou_str = Double.toString(do转载 2016-12-04 23:02:48 · 1027 阅读 · 0 评论 -
elipse快捷键[随时增加]
flex界面:as界面1、整体右移:选中文本->tab2、整体左移:选中文本->tab+shift3、注释[//]:选中文本->ctrl+/4、注释[/**/]:选中文本->ctrl+shift+c原创 2016-11-04 21:24:38 · 341 阅读 · 0 评论 -
如何查看开发项目框架的版本信息
1、查看项目中spring版本:首先,找到项目中jar包的引入位置,将spring.jar包拷到其他不影响项目的位置,比如,我拷到了桌面位置。然后,右键spring.jar包,选择打开方式,选择解压缩方式[此处同解压文件一样的步骤],然后在解压后的文件依次打开文件夹顺序: Spring.jar/META-INF/MANIFEST.MF,显示信息如下:[红色字即为版本号]原创 2016-11-26 10:30:43 · 20735 阅读 · 1 评论 -
Java集合类详解
Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一转载 2016-12-22 09:48:43 · 366 阅读 · 0 评论 -
20个高级Java面试题汇总
这是一个高级Java面试系列题中的第一部分。这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题。什么是可变参数?可变参数允许调用参数数量不同的方法。请看下面例子中的求和方法。此方法可以调用1个int参数,或2个int参数,或多个int参数。 //int(type) followed ... (three dot's) is syntax of a转载 2016-12-25 09:23:54 · 368 阅读 · 0 评论 -
java中对象创建、初始化、引用
Java对象、引用如下表达式:A a1 = new A();它代表A是类,a1是引用,a1不是对象,new A()才是对象,a1引用指向new A()这个对象。在JAVA里,“=”不能被看成是一个赋值语句,它不是在把一个对象赋给另外一个对象,它的执行过程实质上是将右边对象的地址传给了左边的引用,使得左边的引用指向了右边的对象。JAVA表面上看起来没有指针,但转载 2016-12-25 09:48:54 · 1832 阅读 · 0 评论 -
java泛形
泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发转载 2016-12-25 10:33:38 · 388 阅读 · 0 评论 -
加盐密码哈希:如何正确使用
如果你是Web开发者,你很可能需要开发一个用户账户系统。这个系统最重要的方面,就是怎样保护用户的密码。存放帐号的数据库经常成为入侵的目标,所以你必须做点什么来保护密码,以防网站被攻破时发生危险。最好的办法就是对密码进行加盐哈希,这篇文章将介绍它是如何做到这点。在对密码进行哈希加密的问题上,人们有许多争论和误解,这大概是由于网络上广泛的误传吧。密码哈希是一件非常简单的事情,但是依然有很多人理转载 2016-12-26 22:06:32 · 1594 阅读 · 0 评论 -
java 字节码校验
转载地址:http://blog.csdn.net/seacean2000/article/details/11516729当类加载器将新加载的java平台类的字节码传递到虚拟机时,这些字节码首先要接受校验器的校验。校验器负责检查那些无法执行的明显有破坏性的操作。除了系统类之外,其他类都要被校验。但是可以是使用非正式的指令钝化校验器。[java] view转载 2016-12-30 16:35:25 · 2821 阅读 · 0 评论 -
java数组赋值中的arraycopy和=的区别
import java.util.Iterator;import java.util.List;import java.util.ArrayList;/** * Created by cxh on 16/12/30. */public class TempTest { public static void main(String[] args){ //测试软原创 2016-12-30 18:28:48 · 2713 阅读 · 0 评论 -
优雅的找出ArrayList中重复的元素
故意强调了优雅,所以双循环什么的就别来了...先谢为敬看到了群里分享的代码,所有自己尝试了一下,就当是技术积累啊,虽然还有四门期末考,但是还是技术对我的诱惑力更大,请再让我内心默念一百遍:考试全部顺利通过,哈哈方法1代码:import java.util.List;import java.util.ArrayList;/** * Created by cxh on 17/1原创 2017-01-09 10:30:37 · 29413 阅读 · 7 评论 -
java高并发解决方案
转载地址:http://blog.csdn.net/qq_35101189/article/details/52840105高并发的时候是有很多用户在访问,导致出现系统数据不正确、丢失数据现象,所以想到 的是用队列解决,其实队列解决的方式也可以处理,比如我们在竞拍商品、转发评论微博或者是秒杀商品等,同一时间访问量特别大,队列在此起到特别的作用,将 所有请求放入队列,以毫秒计时单位,有序转载 2017-01-14 09:58:38 · 560 阅读 · 0 评论 -
Java 集合框架
转载地址:http://blog.csdn.net/qq_35101189/article/details/52858512Java集合框架大致可以分为五个部分:List列表,Set集合、Map映射、迭代器、工具类List 接口通常表示一个列表(数组、队列、链表栈),其中的元素 可以重复 的是:ArrayList 和LinkedList,另外还有不常用的Vector。L转载 2017-01-14 10:02:03 · 239 阅读 · 0 评论 -
java中的匿名内部类总结
转载地址:http://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法转载 2017-01-14 22:38:02 · 315 阅读 · 0 评论 -
java中main函数解析
转载地址:http://www.cnblogs.com/xwdreamer/archive/2012/04/09/2438845.html从写java至今,写的最多的可能就是主函数public static void main(String[] args) {}但是以前一直都没有问自己,为什么要这么写,因为在c语言中就没有这样子的要求。其实这是一个不需要解释的问转载 2017-01-17 09:30:05 · 360 阅读 · 0 评论 -
Java 内部类最重要的作用-实现多重继承
thinking in java version4 p204 讲解了为什么要用内部类,读了几遍没明白怎么回事,看了下面这篇博客,觉得明白了不少。其中前两个功能是知道的,但是对第3个和第4个功能有了新的认识。转载地址:http://blog.csdn.net/yzw_will/article/details/21229225推荐一、 定义放在一个类的内部原创 2017-01-17 13:35:39 · 767 阅读 · 0 评论 -
详解java中抽象类和接口的区别
转载地址:http://www.cnblogs.com/beanmoon/archive/2012/12/06/2805221.html在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的转载 2017-01-18 22:21:32 · 367 阅读 · 0 评论 -
java内部类使用小结
转载地址:http://android.blog.51cto.com/268543/384844/内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。*内部类可以是静态static的,也可用public,default,protected和private修饰。(而外部顶级类即类名和文件名相同的只能使用public和default)。 注意:转载 2017-01-19 13:18:16 · 304 阅读 · 0 评论 -
java局部内部类和匿名内部类的比较
局部内部类和匿名内部类,具有相同的能力和作用,但局部内部类的名字在方法外是不可见的。那么为什么我们使用局部内部类而不是匿名内部类呢?* 唯一理由是:我们需要一个命名的构造器或者需要重载构造器,而匿名内部类只能用于实例初始化.* 另一个理由:需要不止一个该内部类的对象.代码测试:interface Counter{ int next();}public clas原创 2017-02-21 10:49:08 · 930 阅读 · 0 评论 -
List接口迭代器-ListIterator
1、公共接口ListIterator继承自Iterator。2、列表迭代器允许程序员从列表两端的任意一端遍历列表,在迭代过程中修改列表,并且可以获得列表中迭代器的当前位置。列表迭代器ListIterator是没有当前元素的,它的游标位置总是位于(要求被返回的前一个元素)和(要求被返回的后一个元素)之间[个人理解例子:数字*2*3*4*5*6*,中的*即为游标位置,总是位于两个数字之间]。故列表翻译 2017-02-22 12:29:10 · 650 阅读 · 0 评论 -
类LinkedList<E>
1、继承关系java.lang.Objectjava.util.AbstractCollectionjava.util.AbstractListjava.util.AbstractSequentialListjava.util.LinkedList2、实现接口如下:Serializable, Cloneable, It翻译 2017-02-22 23:41:55 · 330 阅读 · 0 评论 -
LinkedHashSet<E>详解
1、继承关系java.lang.Object java.util.AbstractCollection java.util.AbstractSet java.util.HashSet java.util.LinkedHashSet2、以哈希表和链表实现的set集合接口,迭代方式和我们预想的一致(因为查询速度的原因底层使用了翻译 2017-02-24 22:39:00 · 3333 阅读 · 0 评论 -
class<T>和 class<?>类型 有什么区别
转自:http://www.cnblogs.com/skyislimit/p/5665853.html平时看java源代码的时候,如果碰到泛型的话,我想? T K V E这些是经常出现的,但是有时想不起来代表什么意思,今天整理下: ? 表示不确定的java类型。 T 表示java类型。 K V 分别代表java键值中的Key Value。 E 代表Element。 Object跟转载 2017-03-18 09:33:51 · 995 阅读 · 0 评论 -
编写自己的注解处理器小栗子
1、代码package annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import java.原创 2017-03-18 10:10:09 · 310 阅读 · 0 评论 -
HashMap<K,V>详解
1、继承关系:java.lang.Objectjava.util.AbstractMapjava.util.HashMap2、HashTable基于Map接口的实现,这一实现提供了所有的Map接口的实现,并且允许null值和null键。(HashMap类和HashTable大致上是一样的,除了有2点不同之处,即为HashMap是非同步的[线程不安全的]和翻译 2017-02-26 01:13:14 · 3751 阅读 · 0 评论 -
有关ListIterator接口的add与remove方法探究
转自:http://blog.csdn.net/goodbaby728/article/details/10163347ListIterator接口继承自Iterator接口,新增了add()等方法。关于ListIterator的add()方法的作用(接口是没有方法实现的,但其实现类对于add()方法的实现机制大致相同,姑且这样说吧),《Java核心技术 卷I》里如下表述:转载 2017-03-05 11:30:14 · 1394 阅读 · 0 评论 -
Java中的泛型方法
转自:http://www.cnblogs.com/iyangyuan/archive/2013/04/09/3011274.html泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test{}。这样就定义了一个泛型类Test,在实例化该类时,必须指明泛型T的具体类型,例如:Test t = new Test();,指明泛型T的转载 2017-03-05 17:40:31 · 198 阅读 · 0 评论 -
类PriorityQueue<E>
1、继承关系java.lang.Objectjava.util.AbstractCollectionjava.util.AbstractQueuejava.util.PriorityQueue2、没有任何优先权的队列是基于头优先的,优先权队列中的元素排列顺序为自然顺序,或者根据队列创建时提供的比较器而定顺序,这都取决于队列在创建时使用的是哪个翻译 2017-02-27 11:28:51 · 286 阅读 · 0 评论 -
Integer.decode()和Intger.valueof()
转自:http://blog.sina.com.cn/s/blog_551d2eea0101d04e.html【转】Integer.decode()和Intger.valueof()今天没事看看APIdecode合适用来分析数字可以分析8进:010=>分析后为 810进:10=>分析后为 1016进:#10|0X10|转载 2017-03-10 23:14:57 · 7942 阅读 · 0 评论