
JavaSE
文章平均质量分 81
fjhblog
欢迎交流
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HashMap和Hashtable的比较
在面试的时候,java集合最容易被问到的知识就是HashMap与Hashtable的比较,通常我们也很容易回答出一下几点:1、HashMap是线程不安全的,在多线程环境下会容易产生死锁,但是单线程环境下运行效率高;Hashtable线程安全的,很多方法都有synchronized修饰,但同时因为加锁导致单线程环境下效率较低。2、HashMap允许有一个key为null,允许多个value为...原创 2018-06-02 12:40:07 · 399 阅读 · 0 评论 -
jdk1.8 ThreadLocal源码研究
ThreadLocal是什么顾名思义,ThreadLocal为线程局部变量使用场景JDBC的连接connection对象都是非线程安全对象。所以在web环境下,使用一个线程处理一个请求的时候,需要从数据库连接池中取出connection对象,但是为了保证connection对象的线程安全性,很简单的一个方案就是将它线程私有化,这个时候就需要用到我们的线程局部变量ThreadLocal。...原创 2018-05-27 18:30:26 · 881 阅读 · 0 评论 -
两个Integer对象比较
我们都知道java中对象之间用==进行的比较是内存地址之间的比较,也就是说==比较的话,如果两个引用指向堆内存中同一个对象那么就返回true,否则返回false。Integer对象之间的比较首先来看一下这样一段代码:public static void main(String[] args) { // case 1 Integer a1 = Integer.valueOf(60);原创 2017-08-16 10:37:15 · 1225 阅读 · 0 评论 -
java内存模型
前言 并发处理的广泛应用是使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类“压榨”计算机运算能力的最有力武器。现代计算机的处理器在追求运算速度的提升的同时,也朝着多核化方向发展。这个趋势越来越明显,已经成为现代处理器发展的主流趋势。 为什么我们希望计算机可以多做一些事呢? 原因是计算机的处理器的处理速度和计算机的存储设备的读写速度相差甚大,我们不希望处原创 2017-07-07 12:07:15 · 252 阅读 · 0 评论 -
java五子棋
java五子棋总结刚刚学习java不久,尝试自己做了一个五子棋先附上一个运行效果的图:五子棋的主要目的:1.练习java面向对象的编程思想2.掌握监听器的使用(鼠标监听器)制作五子棋为了代码的可扩充性,我们首先要定义一个五子棋的各个属性的接口:/** * 五子棋的相关属性 * @author Administrator * */public int原创 2016-08-11 08:52:25 · 8783 阅读 · 6 评论 -
java垃圾回收
垃圾回收当一个对象不再被使用的时候,虚拟机就需要找到不在被使用的对象,然后将其所占的堆内存回收,以供后面的对象创建使用。 意义 引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存原创 2017-05-15 16:56:05 · 612 阅读 · 0 评论 -
java类加载机制
类加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。过程如下图: 类的生命周期 它的整个生命周期包括:加载原创 2017-05-14 14:19:00 · 376 阅读 · 0 评论 -
jvm内存模型
jvm内存模型原创 2017-05-11 12:58:53 · 352 阅读 · 0 评论 -
java 继承
为什么需要继承?//大学生类public class UnStudent{ //定义属性 String name; Int ID; Int age; //定义方法 public void study(){ System.out.println("学习!"); } public void sleep(){原创 2017-03-24 12:18:18 · 309 阅读 · 0 评论 -
java多态
面向对象的三大基本特征:封装,继承和多态。封装:就是将类的内部实现细节封装和数据封装起来,不对外暴露实,向外部提供接口,来操作内部封装的数据。 继承:为了提高代码的重用性,如果一个类A和类B是IS-A关系,则可以使用继承。 多态:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)。 作用:可以根据实现类的不同而实现不同的功能原创 2017-04-09 20:55:23 · 285 阅读 · 0 评论 -
ConcurrentHashMap源码分析
前言ConcurrentHashMap是java.util.concurrent包下的一个类,它设计出来是用来在某些情况下替换Hashtable的。相比Hashtable它能够更加高效的进行多线程操作,并不一定需要像Hashtable一样,当一个线程占有锁的时候其他的线程都必须进入阻塞状态,因此在多线程环境下它更加的高效。至于,ConcurrentHashMap是否能够完全替代Hashtabl...原创 2018-06-18 12:00:38 · 233 阅读 · 0 评论