
java 基础
文章平均质量分 92
BballChen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ThreadLocal的使用及原理
一、概述 ThreadLocal简单理解就是针对一个线程做资源的共享,通过set方法把某些资源放到线程中保存,然后通过get方法获取这个资源。它的出现解决了同一个线程中,不同类的方法中可以共享同一个对象或者变量。注意他不是为解决并发中多线程的资源共享(这种场景一般需要加锁),而是为了在多线程之间维护每个线程单独持有的资源(不需要加锁)。 可以想象ThreadLocal的使用场景是在一个线程中共享数...原创 2020-02-06 14:53:00 · 391 阅读 · 0 评论 -
java 接口Comparable和Comparator的使用
一、Comparable接口的使用 需比较的对象实现Comparable接口,重写public int compareTo(Object other){} 即可 import java.util.ArrayList; import java.util.Collections; public class TestComparable{ public static void m...原创 2016-03-17 22:42:56 · 510 阅读 · 0 评论 -
Java ClassLoader 原理分析
文章来源:http://www.codeceo.com/article/java-classloader.html 一、什么是ClassLoader?大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所转载 2016-04-13 22:48:29 · 445 阅读 · 0 评论 -
Docker:带给现代开发人员的福利
文章来源:http://www.ibm.com/developerworks/cn/web/wa-docker-polyglot-programmers/index.html过渡到容器化的应用程序以提高编码生产力和您的开发智商使用 Docker 更富有成效地编码,更高效地扩展您的技能。简化您的开发环境,消除依赖项冲突,并使用容器化的应用程序来减少开发和学习时间。Docker 就像是用于 DevOps转载 2016-04-14 23:32:59 · 928 阅读 · 0 评论 -
设计模式(一):策略模式
设计模式(一):策略模式 一.设计背景 现实生活中,我们要做一件事情或者完成某项工作,往往有很多种途径。比如我们出游,可以选择坐汽车,坐火车,土豪点的选择是坐飞机。还有我们现在线下的支付方式也有了很多种选择,以前在外面忘了带钱的话可能一瓶水都难以买到,现在只要我们手机在身上,可以用微信或者支付宝。 在软件设计层面,我们把各种支付方式叫做策略。如果不考虑设计模式的话,我们可能会在一......原创 2016-07-07 22:56:00 · 413 阅读 · 0 评论 -
java异常处理(父子异常的处理)
java异常处理(父子异常的处理) 我当初学java异常处理的时候,对于父子异常的处理,我记得几句话“子类方法只能抛出父类方法所抛出的异常或者是其子异常,子类构造器必须要抛出父类构造器的异常或者其父异常”。那个时候还不知道子类方法为什么要这样子抛出异常,后来通过学习《Thinking in Java》,我才明白其中的道理,现在我再来温习一下。 一、子类方法只能抛出父类方法的异常或者是其子异...原创 2016-09-06 22:58:00 · 498 阅读 · 0 评论 -
java类与实例
java类与实例 最近在看设计模式,感觉自己对java的三大特性的理解不够清晰,搞不清楚抽象类、接口、泛型的用处和优缺点。设计模式学了一半,想着还是停下来脑补一下java的基础,就从java对象开始吧。 一、java对象 记得刚开始学java对象的时候,老师给我们解释说“一切事物皆为对象”,即所有东西都是对象,对象就是可以看得到、感觉到、听到、触摸到、尝到、或者闻到的东西。准确地说,...原创 2016-08-30 12:56:00 · 158 阅读 · 0 评论 -
并发API总结
通过学习《Thinking in Java》,总结并发API如下: 12.1 Thread.yield():说明自己用的cpu时间差不多了,可以让别的线程使用cpu了,不一定会被采纳,就是说别的线程不一定就会马上获得cpu 12.2 线程池有固定大小,不固定大小的(newCachedThreadPool建议使用这个),以及单线程(newSingleThreadExecutor即只能一个线程结束后...原创 2016-03-27 12:54:55 · 732 阅读 · 0 评论 -
volatile关键字解析
1.volatile关键字的两层语义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2)禁止进行指令重排序。 2.我理解的voletile 2.1 原子性:不保证原子性,只是保证从主内存读取的数据...原创 2016-03-21 14:24:47 · 422 阅读 · 0 评论