![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA学习
文章平均质量分 85
pan861190079
这个作者很懒,什么都没留下…
展开
-
初学几种设计模式的理解与体会
package net.control;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.OutputStream;import java.net.Socket;原创 2016-04-18 22:52:07 · 736 阅读 · 0 评论 -
JVM 垃圾收集与内存分配
前言关于JVM的运行时内存,请看我的上一篇文章Java虚拟机的运行时数据区。引用判定的算法引用计数算法 传统的引用计数算法一般采用计数器方式,即给每一个新生成的对象 一个计数器,每当有新的地方引用它,计数器就+1,引用失效计数器-1,当计数器的值为0时,对象就不可以再被使用了,这样的对象就需要被回收。但是这个算法很难避免对象间循环引用的问题,容易造成“闭包”引发内存泄露。可达性分析算法 以一原创 2017-10-08 15:05:53 · 202 阅读 · 0 评论 -
JVM 类加载机制
前言在java文件被编译成class文件存储为二进制字节码后,并不能直接使用,经过类加载,一个类才可以被装载进运行时内存并被使用。因此理解类加载机制才能让我们更深刻地理解我们编写的java代码是如何一步一步的从 编译成class文件,到如何在内存中正确的使用的过程。类加载的时机 类从被加载到虚拟机内存开始,到卸载出内存为止,它的生命周期如上图。其中,验证、准备和解析3个部分统称原创 2017-11-28 21:24:27 · 216 阅读 · 0 评论 -
JAVA Class类文件结构
前言要想深入的了解jvm,了解java编译后的类文件结构和字节码是很有必要的。虽然这部分内容(主要是class文件的数据结构)比较枯燥,但是这也是最基础的内容,是我们深入理解jvm的内存、类的加载等内容的基石。Class类文件结构class文件是一组以8位字节为基础的二进制流,各个数据项目按照顺序排列在Class文件中,中间没有任何分隔符。因此整个class文件中存储的内容几乎全是原创 2017-11-19 15:14:35 · 332 阅读 · 0 评论 -
Java的运行时数据区
Java虚拟机的运行时数据区文章参考:Java虚拟机 —— 运行时数据区前言之前对于jvm的数据区,大概只能说出一些来,但是对其中的各个区的作用及存储内容都不甚了解,前几天参见几篇博客,仔细的读了一遍,觉得豁然开朗,故记录下来避免以后忘了。之前也看过jvm的书,可是看完就忘了,最近打算再仔细读一遍,毕竟读书这种东西,每一遍都会有不同的感悟,不可能一遍就吃透。这就是jvm运行时数原创 2017-09-25 12:46:55 · 551 阅读 · 0 评论 -
Java中的lamda表达式---更加高效简洁的表达方式
前言刚好今天看到了lambda表达式,学习了一下基本用法,由于上午就是翻开几篇博客看了看,怕自己忘了,所以还是通过博客的方式记录下。语法确实简洁高效,以后也会在代码里慢慢转变多使用lambda表达式。前提想在项目中使用lambda表达式,那么必须在build.gradle文件中加入如下代码:defaultConfig { ...//省略 jackOptions {原创 2017-09-08 12:10:57 · 4916 阅读 · 0 评论 -
JAVA 的反射基础
前言很早就看过了反射,但是很久没用着一块的知识怕给忘了,但是着一块又很重要,就干脆重新回顾一下反射加深以下印象好了。反射经常是结合注解和泛型一起,通常用来写框架,平时开发中除非特殊情况不然很少用到,但这并不是不好好掌握这些内容的理由,要往上进阶,这些基础的内容就必须掌握好。反射能做什么那么有些问题:反射能做什么?学过反射但很少用到反射原因是什么呢? 反射可以在运行时动态的修改class文件的内容原创 2017-06-21 21:36:27 · 225 阅读 · 0 评论 -
svn通信项目文件收发
这是一个SVN通信的项目,涵盖服务器与客户端的文件收发流程,目的是为了保证文件能够正确的在网络中进行传输,客户端上传的文件可以保存在服务器中,同时客户端可以下载服务器之前有用户上传过的所有文件,并以列表的形式展示在客户端。由于当时没有学习数据库,因此在当时处理的时候,文件都是存储在指定文件夹中的,当然这里我们的关注点还是文件在网络中的传输,剩下的可以随着我们学习的深入再进行改进。我认为这种的学习方原创 2016-06-25 14:14:47 · 1984 阅读 · 0 评论 -
通信项目阶段总结-IM聊客户端
这个学习项目的客户端业务流程基本是我写的,由于界面是用java的swing写的,非常难配置,所以很多都是直接使用的QQ的界面,不过既然能够分成模块,那么前台后台自然是无关的。下面给出我的业务流程代码供大家学习交流:原创 2016-06-24 11:19:24 · 1775 阅读 · 0 评论 -
java中的多线程
线程操作系统能够执行调度的最小单位。我们在面对一些高并发场景或耗时任务的时候,通常都会采用异步线程的方式,在java中,使用线程的方式本身就很多,除了原生的Thread可以包装Runnable,还有Executor线程池可以包装Runnable、Callable、Futrue接口,也可以用FutrueTask做适配。不同的线程创建方式对应不同的应用场景,而对于一般的后台系统或者应用程序而言,使用合...原创 2018-08-23 16:27:29 · 261 阅读 · 0 评论