![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 89
Mr_木頭
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。 他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是, 其实我是一个程序员。
展开
-
Java transient关键字
概要:transient的作用及使用方法transient使用小结transient使用细节--------------------------------------------------------------------------------------------1、transient的作用及使用方法一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序...转载 2018-07-12 20:53:38 · 171 阅读 · 0 评论 -
Java知识整理2-从JVM说起 (二)JVM运行时内存
概要:JVM运行时内存 1、新生代 1.1、Eden区 1.2、ServivorFrom 1.3、ServivorTo 1.4、MinorGC的过程(复制->清空->互换) 1.4.1、eden、servivorFrom复制到ServivorTo,年龄+1 1.4.2、清空eden...原创 2018-07-05 18:07:34 · 417 阅读 · 0 评论 -
Java知识整理6-Java核心 (二)Java集合
概要:ListSetMap--------------------------------------------------------------------------------------------集合类存放于Java.util包中,主要有3种:List(列表包含Queue)、Set(集)和Map(映射)。1、Collection:Collection是集合Li...原创 2018-07-17 11:57:46 · 162 阅读 · 0 评论 -
Java知识整理4-从JVM说起 (四)JVM类加载机制及OSGI
概要:JVM类加载机制OSGI--------------------------------------------------------------------------------------------JVM类加载机制分为五个部分:加载、验证、准备、解析、初始化。...原创 2018-07-10 20:29:47 · 355 阅读 · 0 评论 -
Java知识整理1-从JVM说起 (一)线程、JVM内存区域
概要:1、线程2、JVM内存区域 2.1、程序计数器(线程私有) 2.2、虚拟机栈(线程私有) 2.3、本地方法区(线程私有) 2.4、堆(Heap-线程共享)-运行时数据区 2.5、方法区/永久代(线程共享)--------------------------------------------------------------------------------...原创 2018-07-03 15:29:47 · 662 阅读 · 0 评论 -
JAVA NIO
概述NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector。传统IO基于字节流和字符流进行操作,而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个线程可以监听多个数据通道。NIO和传统IO(一下简称IO)之间...转载 2018-07-10 09:53:02 · 592 阅读 · 0 评论 -
Java知识整理5-Java核心 (一)Java IO/NIO
概要:阻塞IO模型非阻塞IO模型多路复用IO模型信号驱动IO模型异步IO模型Java IOJava NIO--------------------------------------------------------------------------------------------1、阻塞IO模型 最传统的一种IO模型,即在读写数据过程中会发生阻塞现象。当用户线程发出IO请求之后,内...原创 2018-07-10 09:58:33 · 6229 阅读 · 1 评论 -
Java知识整理3-从JVM说起 (三)垃圾回收与算法
概要:垃圾回收与算法Java四种引用类型GC垃圾收集器--------------------------------------------------------------------------------------------1、如何确定垃圾 1.1、引用计数法 在Java中,引用和对象是有关联的。如果要操作对象则必须用引用进行操作。因此,可以采用引用计数来判断一个...原创 2018-07-09 12:01:17 · 189 阅读 · 0 评论 -
Java 强引用,软引用,弱引用,虚引用
强引用:只要引用存在,垃圾回收器永远不会回收。Object obj = new Object();obj对象对后面new Object的一个强引用,只有当obj这个引用被释放之后,对象才会被释放掉。软引用:软引用是引用强度仅弱与抢引用的一种引用。它使用类SoftReference来表示。当java虚拟机内存不足时,GC会回收哪些只被软引用指向的对象。从而避免内存溢出。在GC释放了哪些只被软引用指向...原创 2018-06-16 09:27:03 · 180 阅读 · 0 评论 -
设计模式 - 装饰器模式(Decorator Pattern)
问题在实际生产中,新需求在软件的整个生命过程中是不断出现的。当有新需求出现时,就需要为某个组件添加新的功能来满足这些需求。添加新功能的方式有很多。1、我们可以直接修改已有的组件的代码添加相应的新功能,这显然破坏了已有组件的稳定性。修改完之后,整个组件需要重新进行测试,才能上线使用。违反了“开放-封闭”原则。2、使用继承方式,子类实现新功能实现扩展。这种方式是静态的,用户不能控制增加行为的方式和时机...原创 2018-06-15 17:10:54 · 221 阅读 · 0 评论 -
如何设计实现一个LRU Cache?
1. 什么是LRU Cache?之前,在LeetCode上看到一个LRU Cache实现的题目,题目描述是这样的:Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and set.get(key) - G...转载 2018-06-14 18:29:16 · 201 阅读 · 0 评论 -
Java LinkedHashMap工作原理及实现
1. 概述在理解了#7 介绍的HashMap后,我们来学习LinkedHashMap的工作原理及实现。首先还是类似的,我们写一个简单的LinkedHashMap的程序:123456789101112LinkedHashMap<String, Integer> lmap = new LinkedHashMap<String, Integer>();lmap.put("语文",...转载 2018-06-14 18:23:38 · 100 阅读 · 0 评论 -
Java HashMap工作原理及实现
1. 概述从本文你可以学习到:什么时候会使用HashMap?他有什么特点?你知道HashMap的工作原理吗?你知道get和put的原理吗?equals()和hashCode()的都有什么作用?你知道hash的实现吗?为什么要这样实现?如果HashMap的大小超过了负载因子(load factor)定义的容量,怎么办?当我们执行下面的操作时:123456789101112HashMap<Str...转载 2018-06-14 18:08:57 · 125 阅读 · 0 评论 -
Java集合框架
概述什么是集合?这Java官方的入门文档是这样描述集合的:Collection(有时候也叫container)是一个简单的对象,它把多个元素组织成一个单元。集合可以用来存储、检索、操作、通信。通常情况下,集合代表了一个自然数据项,比如一组手牌(牌的集合)、邮件文件夹(邮件的集合)、电话目录(姓名到电话的映射)。如果你使用过Java或者其他语言,你应该很熟悉集合。什么是集合框架?Collection...转载 2018-06-14 17:44:55 · 116 阅读 · 0 评论 -
Java InterruptedException
1、线程处理,先了解线程基本知识。参考:http://www.importnew.com/21136.html2、直接点击java源码,看注释。根据Java Doc的定义Thrown when a thread is waiting, sleeping, or otherwise occupied, and the thread is interrupted, either before or d...原创 2018-05-10 15:11:54 · 368 阅读 · 0 评论 -
openjdk7 源码下载
获取 OpenJDK 源码大致有两种方式1、通过 Mercurial 代码版本管理工具从 Repository 中直接取得源码但是这个需要先装 hg(brew install hg),然后hg fclone http://hg.openjdk.java.net/jdk7/jdk7,耗时太久。2、从网站上下载:http://download.java.net/openjdk/jdk7...转载 2019-03-05 21:10:53 · 836 阅读 · 0 评论