![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 67
LiuWillow
这个作者很懒,什么都没留下…
展开
-
JAVA线程知识整理
最近结合《java编程思想》和一些网上的博客来重新研究了一下线程的状态,这里做个小小的总结,为大家也为自己巩固基础知识。部分参考Java中Wait、Sleep和Yield方法的区别线程几种基本状态一般来说,线程可以有四种状态:(1)新建new:当线程被创建时,它只会短暂地处于这种状态,此时它已经分配了必需的系统资源,并执行了初始化。此刻线程已经有资格获得CPU时间了原创 2017-10-13 14:18:22 · 177 阅读 · 0 评论 -
我对JAVA面向对象的理解
在java中,除了八种基本数据类型,一切皆对象。java是基于C++设计的语言,而C++又是继承自C语言,C语言是一种面向过程的语言,在软件比较简单的年代,只需要敲一些函数、定义基本数据就能满足需求,但是当软件规模越来越大,功能复杂度超过hello world的时候,人们发现代码量越来越庞大,难以维护和理解,因此提出了面向对象的思想。在我的理解中,面向对象就是以现实生活中处理问题的方式来编原创 2017-10-13 14:19:12 · 209 阅读 · 0 评论 -
浅析AOP实现原理(1)静态代理
什么是AOPAOP是OOP的扩展,在OOP中,有许多与核心业务无关的代码如日志代码分布在项目的各个层次中,产生大量的重复代码,并且不利于模块的重用,因此,AOP提供了一种称为切面的技术,剖开对象的内部,将那些影响了多个类的共同行为封装成一个可重用的模块,称为Aspect,也就是切面。这样做的好处就是减少了重复的代码,降低模块之间的耦合。在AOP中,最重要的就是AOP代理类的实现,使用了代理模式(不明原创 2017-10-14 17:45:20 · 262 阅读 · 0 评论 -
java读取txt文件第一行遇到的问题
场景:今天在用java字符流读取类似下图的txt文件:目标是将每一行的内容通过’,’分割,分别转化为int和String类型并保存,读取代码如下:File file = new File("C:\\Users\\liuwi\\Desktop\\百度城市信息.txt"); try { BufferedReader reader = new BufferedRea原创 2017-12-20 14:46:01 · 10689 阅读 · 1 评论 -
浅析AOP实现原理(2)JDK动态代理
在上一篇文章中我们聊了聊静态代理的实现,除了静态代理,AOP中主要用到的是动态代理即JDK动态代理和CGLIB动态代理jdk动态代理jdk动态代理是运行时JAVA反射机制生成相应对象的代理类而程序员手动编码生成,其中主要用到接口InvocationHandler和一个类ProxyProxy类 public static Object newProxyInstance(ClassLoader load原创 2017-12-19 14:13:24 · 227 阅读 · 0 评论 -
利用jad工具进行反编译
相信学习java的同学都不是直接从IDE上手的,老师会让我们先用文本文档写一个HelloWorld.java文件,然后通过javac、java命令运行HelloWorld什么是编译我们编写的HelloWorld.java文件称为java源文件,执行javac命令之后,.java源文件会被转化成机器所能识别的.class二进制文件,这个过程就称为编译什么是反编译顾名思义,就是编译的反向操作- -如何反原创 2017-12-19 14:15:49 · 372 阅读 · 0 评论 -
源码角度理解JDK动态代理的实现原理
在另一篇文章浅析AOP实现原理(2)JDK动态代理中我们了解了JDK动态代理的用法,但是光会用还不行,这篇文章我们来探讨几个第一次使用JDK动态代理时可能都会产生的疑问: * 1、代理类对象究竟是如何生成的 * 2、invoke方法是何时被调用的JDK如何动态生成代理类对象在上一篇文章中,生成代理的方法为:public static Object getProxy(Object object){原创 2017-12-19 14:18:06 · 280 阅读 · 0 评论