Java
文章平均质量分 69
KoJJ
这个作者很懒,什么都没留下…
展开
-
java多线程学习(一)
一 并发的优点并发的优点大致可以分为两个方面:“速度”和“代码设计”。1 速度的提升首先,我们需要知道并发与并行的区别,具体可以看这篇博客:http://blog.csdn.net/yy_james/article/details/71481467现在的计算机都是多处理器,将一个程序的不同模块分布在不同的CPU上执行,显然可以提高整个程序的运行效率。但是这里需要注意的是,“并发”通原创 2017-05-10 18:47:17 · 280 阅读 · 0 评论 -
java网络编程学习(二)
HTTP协议1 http协议内容Http请求内容:(1)请求行:包含方法、路径和http版本(2)http首部User-Agent:浏览器类型Host:服务器名称Accept:客户端可以处理的数据类型Connection: keep-alive : 希望复用socket连接(3)空行两个回车换行对:/r/n/r/n(4)消息体get没原创 2017-05-18 16:53:49 · 216 阅读 · 0 评论 -
Java内存区域
一 运行时数据区1 运行时数据区包括方法区(Method Area)、堆(heap)、虚拟机栈(VM stack)、本地方法栈(Native Method stack)和程序计数器(program counter register)。其中,方法区和堆是所有线程共享的数据区;虚拟机栈,本地方法栈和程序计数器是线程独占的数据区。2 程序计数器这是一块比较小的内存,虚拟机的概念模原创 2017-08-03 23:24:42 · 200 阅读 · 0 评论 -
JVM类加载器
一 定义JVM设计团队把类加载过程中的“通过一个类的全限定名获取到描述此类的二进制流”这个动作放到Java虚拟机外部实现,以便让应用程序自己决定如何获取类。实现这个动作的功能模块,叫类加载器。二 类与类加载器对于任意一个类,都需要由加载他的类加载器和这个类本身一起确立其在Java虚拟机中的唯一性,每一个类加载器,都有一个独立的类名称空间。所以,使用不同的类加载器,去加载同一原创 2017-08-06 17:11:11 · 201 阅读 · 0 评论 -
JVM类加载机制
一 定义虚拟机把描述类数据的Class文件加载到内存,并对数据进行 校验、转换解析、初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程就是类加载机制。在Java中,类的加载、连接、初始化都是在运行期间完成的,这种策略稍微影响程序运行的性能,但是增加了Java程序的灵活性。二 类的生命周期类从被加载到虚拟机内存开始,到卸载出内存,其生命周期为加载、连接(包括验证原创 2017-08-06 16:00:05 · 211 阅读 · 0 评论 -
Java内存回收与分配
一 哪些内容需要回收Java虚拟机的内存中分为java虚拟机栈、本地方法栈、程序计数器、堆以及方法区。其中Java虚拟机栈、本地方法栈和程序计数器随着线程的产生而产生,当方法或者线程结束时,内存自然也回收了。因此这些区域不用过多考虑内存回收的问题。因此,需要关注的就是方法区以及Java堆的垃圾回收。方法区中主要存储类信息、即时编译产生的代码、常量、静态变量等信息。回收对象是无用的类原创 2017-08-04 12:47:22 · 447 阅读 · 0 评论 -
Java 并发工具包 java.util.concurrent 用户指南
转载地址:http://blog.csdn.net/defonds/article/details/44021605/转载 2017-08-03 10:26:53 · 159 阅读 · 0 评论 -
volatile关键字
一 内存模型的基本概念 计算机执行程序时,每条指令都由CPU执行,这个过程中涉及到内存中数据的读写。由于CPU的速度比内存快很多,为了提高程序的执行效率,CPU利用高速缓存存储数据,这相当于内存数据的一个副本。读取时,CPU从高速缓存中直接读取,修改时,先修改高速缓存,之后同步到主存中。 在多线程的程序中,每个线程都有自己的CPU高速缓存。因此对于一个主存中的共享变量,它在不同原创 2017-08-02 22:23:39 · 162 阅读 · 0 评论 -
Java泛型
1 泛型的概念“泛型”这个术语的意思是:适用于许多许多的类型。泛型比较常见的用法,是指定容器要持有什么类型的对象,而且由编译器来保证类型的正确性。例如:List list = new ArrayList();Map map = new HashMap();上面的例子是泛型的常见使用方式,这也引出了Java泛型的一个局限性:基本类型无法作为类型参数,如上面的In原创 2017-06-21 21:01:48 · 181 阅读 · 0 评论 -
Java初始化与清理
在Java中,资源的初始化采用构造器(constructor)的方式,构造器需要程序员定义。资源的清理由“垃圾回收器”完成,而不必像C或C++中一样,需要程序员手动释放new出的资源。一 、 Java构造器1 从概念上讲,“初始化”和“创建”是相互独立的动作,而在Java中,这两者被捆绑在一起,由构造器来完成。2 构造器是一个静态函数,该函数与类的名称相同(每个方法首字符小写的原创 2017-06-29 23:22:16 · 285 阅读 · 0 评论 -
Java反射机制详解
| |目录1反射机制是什么2反射机制能做什么3反射机制的相关API·通过一个对象获得完整的包名和类名·实例化Class类对象·获取一个对象的父类与实现的接口·获取某个类中的全部构造函数 - 详见下例·通过反射机制实例化一个类的对象·获取某个类的全部属性·获取某个类的全部方法·通过反射机制调用某个类的方法·通过反射机制操作某个类的属性·反射机制的动态代理4反射机制的应用实例·在泛型为Inte转载 2017-05-20 20:19:49 · 129 阅读 · 0 评论 -
java网络编程学习(三)
主题:Socket一 使用Socket1 Socket是两台主机之间的一个连接,它可以完成7个基本操作:(1) 连接远程机器(2) 发送数据(3) 接收数据(4) 关闭连接(5) 绑定端口(6) 监听入站数据(7) 在绑定的端口上接收来自远程机器的连接2 Java中的Socket连接基于C-S模式,客户端Socket使用Java提供的原创 2017-05-19 11:25:46 · 272 阅读 · 0 评论 -
java中四种引用类型
java中四种引用类型 今天看代码,里面有一个类java.lang.ref.SoftReference把小弟弄神了,试想一下,接触java已经有3年了哇,连lang包下面的类都不了解,怎么混。后来在网上查资料,感觉收获颇多,现记录如下。对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处转载 2017-05-29 17:05:00 · 205 阅读 · 0 评论 -
java网络编程学习(一)
一 网络的分层网络有两个分层方案,一种是传统的5层结构,另一种是ISO的7层结构1 5层网络(1)物理层(2)数据链路层(PPP,Wifi,Ethernet)(3)网络层(IP,ARP)(4)传输层(TCP,UDP,ICMP)(5)应用层(HTTP,FTP,SMTP,Ping,DNS)2 7层网络(1)物理层(2)数据链路层(PPP,Wifi原创 2017-05-17 11:07:24 · 1076 阅读 · 0 评论 -
java多线程学习(三)
一 线程之间的协作1 如何协作(1)多线程的程序在工作的时候,使用Synchronized、Lock等可以满足线程之间访问共享资源的互斥操作。但很多时候,线程之间不只有互斥的关系,还有协作的关系。比如,有三个线程,t1,,t2,t3,t2需要在t1完成之后才能开始操作,t3需要在t2完成之后才能开始操作。这就是经典的“生产者-消费者”模式。实现这种模式的方法,可以让t1开始运行,然后t原创 2017-05-12 15:27:37 · 192 阅读 · 0 评论 -
java多线程学习(二)
一 共享资源多线程经常会共享一些资源(内存、IO等)。这类资源被称为“临界资源”,要保证所有对这类资源访问的线程处于一种互斥的状态,当有一个线程在访问的时候,其他需要访问相同资源的线程应当处于阻塞状态。这里需要说一下原子操作,原子操作是一个不能被打断的操作,也就是当CPU从一个线程切换到另一个线程的时候,失去时间片的线程中的原子操作只要开始,就必须会执行完毕,而不会处于一种未执行完毕的中间原创 2017-05-11 11:03:58 · 197 阅读 · 0 评论 -
Java自定义注解
以下这片博客介绍了Java自定义注解的用法,以及提取元数据注解的方法。https://blog.csdn.net/ljyangscut/article/details/51287089转载 2018-03-30 15:42:29 · 170 阅读 · 0 评论