Java 相关
文章平均质量分 68
cosmos_lee
这个作者很懒,什么都没留下…
展开
-
Java中的注解
看到了一篇非常好的博客,简要的记录一些重点吧。 注解类似于标签,给注解的那些类,方法等贴上一些标签,这些信息并不是Java程序的一部分, 注解的信息可以可以通过反射读取,然后由开发提供的工具来处理这些信息实现某些功能。定义: @interfacepublic @interface TestAnnotation {}应用: 创建一个类 Test,然后...原创 2018-06-23 16:49:42 · 228 阅读 · 0 评论 -
Spring中bean的生命周期(包括ApplicationContextAware,InitializingBean,PostProcessor示例)
本文参考:《Spring in action》Spring中bean的生命周期相对比较复杂,因为我们可以利用Spring提供的扩展点来自定义bean的创建过程。下图展示了bean装载到Spring应用上下文中的一个典型的生命周期过程。bean的后置处理器:•Bean 后置处理器允许在调用初始化方法前后对Bean 进行额外的处理.•Bean 后置处理器对IOC 容器里的所有Bean 实例逐一处理,而...原创 2018-06-08 15:39:41 · 1483 阅读 · 0 评论 -
遍历HashMap的几种方法
有如下几种方法:1. 通过keyset2. 通过 Map.entrySet().iterator()3. 通过foreach ---- Map.entryset4. 通过Valuesetpublic static void main(String[] args) { HashMap<Integer, String> hashmap = new HashMap<&g...原创 2018-06-06 16:51:49 · 27428 阅读 · 0 评论 -
JDK动态代理和CGLIB代理的具体实现
1. JDK动态代理1.接口:public interface Ball { void play(int num);}2.目标类:接口+实现public class FootBall implements Ball{ public void play(int num){ System.out.println(num+"只足球队踢足球"); }}3.切面类...原创 2018-06-20 23:48:14 · 155 阅读 · 0 评论 -
Spring知识整理
Spring1.Spring演进:Spring框架所倡导的基于POJO(Plain Old Java Object,简单Java对象)的轻量级开发理念,就是从实际出发,立足于最基础的POJO(就好像我们的地球)。为了能够让这些基础的POJO构建出健壮而强大的应用,Spring框架就好像那包裹地球的大气层一样,为构筑应用的POJO提供了各种服务,进而创造了一套适宜用POJO进行轻量级开...原创 2018-06-02 23:11:37 · 250 阅读 · 0 评论 -
java中的枚举类
在某些情况下,一个类的对象是有限而且固定的,如季节类,只有4个对象。这种实例有限且固定的类,在java里被称为枚举类。在JDK1.5之前,我们定义常量都是:public static fianl ... 有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 1. 初识枚举类Java5新增了一个enum关键字(它与class、interface关键字的地位相同),用以定义...原创 2018-05-19 12:37:31 · 335 阅读 · 0 评论 -
Java中NIO以及在网络编程中的应用
https://blog.csdn.net/u012156116/article/details/80051912之前在上面的博客中简单的介绍了JavaIO和JavaNIO的相关知识,今天想把5月1号之前看的Java网络编程以及NIO在其中的应用一起介绍下。参考:http://www.importnew.com/19816.htmlhttp://www.importnew.com/22623.ht...原创 2018-05-09 16:05:56 · 2464 阅读 · 0 评论 -
Java中IO相关整理
一、Java IO1.1字节流、字符流其中,字节流也有两个抽象类:InputStream OutputStream 其对应子类有FileInputStream和FileOutputStream实现文件读写 BufferedInputStream和BufferedOutputStream提供缓冲区功能同样,字符流有两个抽象类:Writer Reader 其对应子类File...原创 2018-04-23 16:11:17 · 318 阅读 · 0 评论 -
java原子类和CAS
CAS: Compare-And-Swap, 比较交换。CAS操作需要三个参数: CAS(V,E,N)V: 内存值E:旧的预期值,一个线程间共享的变量,首先主存中会保留一份,然后每个线程的工作内存中也会保留一份副本,即预期值。N:新值只有当 V=E的时候,才会将V设为N。CAS操作是原子性的,所以多线程并发使用CAS更新数据时,可以不使用锁。JDK中大量使用了CAS来更新数据而防止加锁(synch...原创 2018-06-08 21:23:13 · 927 阅读 · 0 评论 -
JVM中的内存分配及GC回收过程整理
JVM中的内存使用方式,包括虚拟机内存区域的划分,Java对象分配时的处理原则和逻辑,以及我们日常开发中最需要关心的GC回收的策略和算法,是开发出拥有出色而稳定的Java软件产品所必须深刻理解的。从各种途径阅读到的讲解JVM内存管理,GC过程和策略的资料也都从不同的侧重点讲述了这些话题。我在这里按照自己的理解总结一下,算是整理下自己的思路,以让自己JVM方面的知识体系结构化,打下更扎实的基础。 ...转载 2018-06-20 14:41:38 · 1313 阅读 · 0 评论 -
Java读取excel文件:使用jxl.jar (简单)
首先将 jxl.jar 导入,我上传在这里(下载地址),如果没有积分可以私信我。然后就按照这个demo就可以了, String mainPath = System.getProperty("user.dir"); String Q1G_Path = mainPath + "/resource/Q1G.xls"; List<Gate&g...原创 2018-09-17 10:24:35 · 8863 阅读 · 4 评论 -
SQL和Java中的正则表达式
正则表达式概念:符合一定规则的表达式,用于操作字符串。检索包含1000的行 REGEXP ‘1000’’ . ‘ 表示匹配任意一个字符进行OR匹配 REGEXP ‘1000|2000’匹配几个字符之一 REGEXP ‘[1 2 3] Ton’ [1 2 3] 表示匹配1或者2或者3’ ^ ‘ 否定 [ ^ 1 2 3] 匹配除1...原创 2018-09-11 16:11:27 · 1367 阅读 · 0 评论 -
HashMap的扩容机制:JDK1.7,JDK1.8
参考文章:http://www.importnew.com/20386.htmlhttps://blog.csdn.net/z69183787/article/details/64920074?locationNum=15&fps=1以前看HashMap的时候,resize扩容部分没有仔细看,今天挤出时间,看之。1. 确定hash桶数组的索引位置我们当然希望这个Hash...原创 2018-07-25 22:33:02 · 11479 阅读 · 10 评论 -
Java中的泛型相关知识
一、泛型的概念 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。 C++中国实现泛型是使用模板类和模板方法,Java是从JDK1.5实现泛型的,下面我们来...转载 2018-07-05 17:15:25 · 204 阅读 · 0 评论 -
Servlet的本质及生命周期相关
1.Servlet简介是用于 java 编写的服务器端程序,其使用 java servlet API,当客户机发送请求到服务器时,服务器可以将请求信息发送给 servlet,并让 servlet 建立起服务器返回给客户机的响应。当启动 web 服务器 or 客户机第一次请求服务时,可以自动装入 servlet,装入后,servlet 继续运行直到其他客户机发出请求。2.Servlet容...原创 2018-07-11 20:35:51 · 184 阅读 · 0 评论 -
TreeMap中的键,值能否为null?
今天想到一个问题,HashMap中键值都可以为null,ConcurrentHashMap,HashTable中键值不可以为null,以上参考:https://blog.csdn.net/gagewang1/article/details/54971965那么TreeMap呢?我们一起来看一下吧。1. 首先, 先分析简单的, value是否能为null? public ...原创 2018-07-17 00:11:34 · 17468 阅读 · 3 评论 -
Java中errors,Exception 以及 try-catch与throws、throw 相关
Java中errors以及try-catch相关异常类型最高的继承类是Throwable, Throwable下有两个子类:(1)Error:指的是JVM错误,这个时候的程序并没有执行,无法处理; (2)Exception:指的是程序之中出现的错误信息,可以进行异常处理。Exception分为RuntimeException和Checked Exception。Checked...原创 2018-06-28 13:31:17 · 432 阅读 · 0 评论 -
Java中的四种引用
本文系转载,看到网上有人讲的不错,所以复制过来了。JDK1.2后,Java四种引用包括强引用,软引用,弱引用,虚引用。强引用:只要引用存在,垃圾回收器永远不会回收Object obj = new Object();//可直接通过obj取得对应的对象 如obj.equels(new Object());而这样 obj对象对后面new Object的一个强引用,只有当obj这个引用被释放之后,对象才会...转载 2018-06-20 16:23:15 · 229 阅读 · 0 评论 -
字符与字节的区别
一)“字节”的定义字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位。(二)“字符”的定义字符是指计算机中使用的文字和符号,比如1、2、3、A、B、C、~!·#¥%……—*()——+、等等。(三)“字节”与“字符”它们完全不是一个位面的概念,所以两者之间没有“区别”这个说法。不同编码里,字符和字节的对应关系不同:①ASCII码中,一个英文字母(不分...转载 2018-04-13 09:50:50 · 4950 阅读 · 0 评论 -
Java泛型中字符E,T,?等的含义
Java泛型中的标记符含义: E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number(数值类型)? - 表示不确定的java类型 S、U、V - 2nd、3rd、4th types遇到<A>,<B>,<K,V>等,是用到了java中的泛型。 一...转载 2018-04-11 20:42:41 · 1365 阅读 · 0 评论 -
Java中的volatile关键字
1.JMM内存模型JMM 的关键技术点都是围绕着多线程的原子性、可见性和有序性来建立的原子性原则性是指一个操作是不可中断的。可见性其一修改,其余接受通知。有序性即程序执行的顺序按照代码的先后顺序执行。 在并发时,程序的执行可能就会出现乱序。 有序性问题的原因是因为程序在执行时,可能会进行指令重排,重排后的指令与原先的顺序未必一致。2.volatile关键字volatile : 易变的,不稳定的。v...原创 2018-03-16 16:34:21 · 213 阅读 · 1 评论 -
ConcurrentHashmap的底层实现
以及在JDK1.7和1.8中实现有什么区别原创 2018-03-16 09:50:33 · 248 阅读 · 0 评论 -
Java集合类的简单梳理01
一、总结Java 集合在util([jutil])包下,主要包括Collection和Map两个接口。Collection接口没有直接的实现类,其下包括Set,List,Queue三个接口。Map接口是Java.util包中的另一个接口,其中包括了Hashtable、HashMap、LinkedHashMap、TreeMap、ConcurrentHashMap等。Set中的元素是无序,不可重复的。...原创 2018-03-01 09:35:50 · 179 阅读 · 0 评论 -
ArrayList中的remove的坑
List中使用remove时,有两个函数,第一个时删除下表,第二个时删除元素。但是如果你想删除一个整型数据该如何做呢,这样:remove((Integer)xxxx);就可以了,因为是删除一个Object类型,所以把Integer类型赋值给int类型,自动装箱。相关知识点: 2) Integer与int类型的比较 这里就无所谓是谁与谁比较了,Intege...原创 2018-03-08 22:58:18 · 528 阅读 · 0 评论 -
Java中接口继承接口
今天在看线程池的源码的时候,观察到了一个之前没有关注的地方: 接口继承接口举例如下:线程池接口:public interface Executor { void execute(Runnable command);}线程池服务接口:public interface ExecutorService extends Executor {......}可以看到ExecutorSer...原创 2018-03-07 17:42:46 · 6058 阅读 · 1 评论 -
泛型及java中的泛型
当作笔记整理的~~~ 大量转载自:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html首先,引出堆对象这个概念。什么是堆对象,就是程序在运行过程中可以随时建立或者删除的对象,可以用new运算符(或malloc函数)或者delete运算符(或free函数)。泛型可以看作是一类堆对象。泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码...原创 2018-02-27 16:49:30 · 209 阅读 · 0 评论 -
Java中多态的相关知识
例子:public class A { public String show(D obj) { return ("A and D"); } public String show(A obj) { return ("A and A"); } }public class B extends A{ public Strin...原创 2018-02-27 16:47:42 · 138 阅读 · 0 评论 -
java 中关于集合类的整理01
之前看过一些关于Java集合类的内容,但是过段时间不用有些就忘记了,现在整理下以后看也方便,只是给自己当笔记看的~~~~(转载了一些注明:http://www.cnblogs.com/leeplogs/p/5891861.html)一般地,我们常用的集合类有这几种:List结构的集合类:ArrayList类,LinkedList类,Vector类,Stack类Map结构的集合类:HashMap类,...原创 2018-02-27 16:43:42 · 260 阅读 · 0 评论 -
HashSet与重写equals(),hashcode():判断“数组“对象相等
昨天整理了: Object类中方法总结:基于Java8 中详细讲解了equals()与hashcode()的相同不同点,今天我们在实际的应用了来看看是怎么使用的。在我们的实际应用中,我们想保存一些节点的坐标,但是对于重复的坐标,我们时不想保存的,这时我们会这么做呢?我们选择HashSet来保存这些节点的坐标,HashSet的底层实际上就是一个HashMap,对于重复的值它时不保存的。先看下节点坐标...原创 2018-03-17 23:00:00 · 631 阅读 · 0 评论 -
Object类中方法总结:基于Java8
今天看了下别人的阿里面经,总结了以下问题:1.Object类有哪些方法?2. hashcode方法有什么用3.hashcode和equals的区别,引申到map,扩容的实现,时间复杂度首先有以下几个方法:1.hashCode和equale函数用来判断对象是否相同2.wait(),wait(long),wait(long,int),notify(),notifyAll() 3.toString()和...原创 2018-03-14 11:05:39 · 2109 阅读 · 0 评论 -
二叉树的三种遍历的递归和非递归的总结(详细,有推导)java
之前已经总结过二叉树的层序遍历:https://blog.csdn.net/u012156116/article/details/79393851今天来探讨下二叉树的三种常见遍历的 递归,非递归 过程,其中非递归的推导过程可见最后的图:1. 先序1.1 递归三种遍历方式的递归算法大同小异,只是打印节点的位置不一样,很简洁。 public void pre_traversal_1(TreeNo...原创 2018-04-03 12:56:51 · 568 阅读 · 0 评论 -
Java中零碎知识点整理(1)
2018.4.2 23:22 开始这个专题,以后持续地将刷到的错题中的知识点整理至此,并将相关知识点归纳整理,go go。1.成员变量有初始值,而局部变量没有初始值得。本体中的s定义在方法中所以为局部变量-没有初始值。变量没有初始值就使用了,编译通不过。例:下面代码的运行结果是()1234public static void main(String[] args){ String s; ...原创 2018-04-02 23:39:19 · 261 阅读 · 0 评论 -
回溯法总结----由浅入深
参考:https://blog.csdn.net/versencoder/article/details/52071930https://blog.csdn.net/versencoder/article/details/52072350起手式:回溯法,就是试探法,按照优选条件去向前搜索,以达到目标。但是在搜索到某一步时,发现原先这样并不能满足条件,就回退一步重新选择,这种走不通就退回再走的技术成...原创 2018-03-23 22:48:16 · 9930 阅读 · 1 评论 -
排序算法之归并排序(Merge_Sort)
归并 的 含义 “将两个或两个以上的有序表合成一个新的有序表”merge的思想 : 先将A1[ ],A2[ ] 复制到辅助数组 B[ ]中,每次取较小者放入A中,直至B的某一段为空时,将另一端直接复制到A中。Java代码:public void mergesort(int[] arr, int first, int mid, int last, int[] temp){ int ...原创 2018-03-27 10:54:18 · 302 阅读 · 0 评论 -
lintcode:字符串置换 (Java)(数组模拟hashmap,字符的ASCII码)
题目:给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。置换的意思是,通过改变顺序可以使得两个字符串相等。样例"abc" 为 "cba" 的置换。"aabc" 不是 "abcc" 的置换。思路:一开始想A字符串判断一个,看看B中有没有,若B中有,删掉,迭代至A到末尾。但是这样做很麻烦,后来在网上看到了大神的做法,利用一个数组模拟hashmap的功能,其实这个方法上次也看到...原创 2018-04-09 11:00:59 · 210 阅读 · 0 评论 -
Java中数组为空和数组长度为0的区别
今天在做题的时候遇到了这个问题,首先 List<List<Integer>> results = new ArrayList<>(); if (nums == null) { return results; } if (nums.length =...原创 2018-03-25 20:47:01 · 19726 阅读 · 4 评论 -
Java 中的静态绑定和动态绑定
一、多态:一个接口,多种实现。 可见知乎详解:https://www.zhihu.com/question/30082151多态存在的三个前提:1.要有继承关系2.子类要重写父类的方法3.父类引用指向子类对。二、绑定:把一个方法与其所在的类/对象 关联起来叫做方法的绑定。绑定分为静态绑定(前期绑定)和动态绑定(后期绑定)。2.1、 静态绑定 在程序运行前就已经知道方法是属于那个类的,在编译的...原创 2018-04-08 09:42:18 · 156 阅读 · 0 评论 -
Java中的访问控制符的区别:private,default,protected,public
public:具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。protected:主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西default:有时候也称为friendly,它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互...原创 2018-03-14 11:11:53 · 2007 阅读 · 0 评论 -
IDEA中使用Mybatis的一个DEMO遇到的一些问题
1.创建项目:使用maven创建的一个quickstart项目,然后在pom.xml中添加MyBatis的相关依赖,pom.xml文件如下: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</art...原创 2019-01-14 16:22:20 · 564 阅读 · 0 评论