Java
带剑书生_
人生不止眼前的crud....
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Exception(Java异常)
/*异常。Java运行时期发生的问题就是异常。Java中运行时发生的除了异常Exception还有错误Error。异常:通常发生可以有针对性的处理方式的。错误:通常发生后不会有针对性的处理方式。Error的发生往往都是系统级别的问题,都是jvm所在系统发生的并反馈给jvm的。无法针对处理,只能修正代码。*/class ExceptionD原创 2015-03-28 21:17:11 · 731 阅读 · 0 评论 -
Netty学习笔记(1)
最近工作中用到了Netty,于是借此机会整理出来。关于什么是Netty,以及它的好处就不多说了,网上资料很多。学习Netty前我们应该着重理解下面这些对象,这些都是Netty的核心概念,对我们学习Netty很有帮助Bootstrap一种是用于客户端的Bootstrap,一种是用于服务端的ServerBootstrap。Bootstrap用来连接远程主机,有1个EventLoopGroupServe...原创 2018-07-10 22:41:03 · 394 阅读 · 0 评论 -
Docker化HelloWorld程序
安装docker因国内访问docker官网速度问题,这里使用国内的加速镜像 daocloud.iocurl -sSL https://get.daocloud.io/docker | sh查看docker版本docker version启动docker,并查看状态systemctl start docker.servicesystemctl status docker.service显示系统信息...原创 2018-02-28 08:52:29 · 414 阅读 · 0 评论 -
同步屏障CyclicBarrier
它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。CyclicBarrier还提供一个更高级的构造函数CyclicBarrier(int parties,Runnable barrier-Action),用于在线程到达屏障时,优先执行barrierAction,方便处理更复杂的业务场景,比如说:Cyclic...原创 2018-02-27 15:52:09 · 308 阅读 · 0 评论 -
利用堆解决开发中的一个问题
最近开发中看见这样的一个需求,给车系建议指导价,也就是取最小值和最大值。竟然有人写了一个冒泡排序..... 我们都知道Java类库中提供的排序都是经过优化的排序算法,顺序表也就是用的是快排,而且这个快排是三相求和取平均值算法,让拿到的值也就是轴,尽可能均匀的划分,也就是轴的左边和右边尽可能的数量平均,达到快排的最好效果。而对于链表官方库也是采用的归并排序。于链表呢,比如快排,两个指针分别网后往...原创 2018-02-27 11:44:41 · 343 阅读 · 0 评论 -
Java 并发开发:Lock 框架详解
摘要:我们已经知道,synchronized 是Java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等。Lock 提供了比 synchronized更广泛的锁操作,它能以更优雅的方式处理线程同步问题。本文以synchronized与Lock的对比为切入点,对Java中的转载 2017-03-15 17:17:45 · 468 阅读 · 0 评论 -
单例与序列化的那些事儿
转载:http://www.hollischuang.com/archives/1144本文将通过实例+阅读Java源码的方式介绍序列化是如何破坏单例模式的,以及如何避免序列化对单例的破坏。单例模式,是设计模式中最简单的一种。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式转载 2017-03-15 16:52:09 · 458 阅读 · 0 评论 -
如何理解 Java 中的 <T extends Comparable<? super T>>
Java 中类似 > 这样的类型参数 (Type Parameter) 在 JDK 中或工具类方法中经常能看到。比如java.util.Collections 类中的这个方法声明:public static T extends Comparablesuper T>> void sort(ListT> list)我知道 extends 和 super 这样的关键字在泛型中是转载 2017-03-11 10:32:16 · 1066 阅读 · 0 评论 -
深入分析Java的序列化与反序列化
序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容。主要涉及到以下几个问题:怎么实现Java的序列化为什么实现了java.io.Serializable接口才能被序列化transient的作用是什么怎么自定义序列化策略自定义的序列化策略是如何被调用的ArrayList对序列化的实现有什么转载 2017-03-11 09:34:28 · 360 阅读 · 0 评论 -
Java内存分区
堆与栈的比较:JAVA堆与栈都是用来存放数据的,那么他们之间到底有什么差异呢?既然栈也能存放数据,为什么还要设计堆呢?1.从存放数据的角度: 前面我们已经说明: 栈中存放的是基本类型的变量or引用类型的变量 堆中存放的是对象or数组对象原创 2015-03-18 20:50:06 · 1510 阅读 · 0 评论 -
你真的了解try{ return }finally{}中的return?
今天去逛论坛 时发现了一个很有趣的问题:谁能给我我解释一下这段程序的结果为什么是:2.而不是:3代码如下:class Test { public int aaa() { int x = 1; try { return ++x; } catch (Exception e) {转载 2017-03-09 10:11:52 · 9964 阅读 · 7 评论 -
HashMap分析
HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。一、定义 HashMap实现了Map接口,继承Abs转载 2017-03-08 20:23:41 · 332 阅读 · 0 评论 -
Java基础(一)
1、&和&&的区别?首先&和&&都是逻辑运算符与(and),当运算符两边都是true时,整个表达式才是true,其中有一个false,则,表达式就是false。其次&&具有短路功能,如if(!flag&&str.equals("")),当flag为false时,则后面的表达式则不会进行计算,而如果用&做运算符与,则会抛出NullPionterException异常。2,在Java中原创 2015-08-31 21:10:32 · 527 阅读 · 0 评论 -
内部类
/*当A类中的内容要被B类直接访问,而A类还需要创建B的对象,访问B的内容时,这时,可以将B类定义到A类的内部。这样访问更为便捷。将B称之为内部类(内置类,嵌套类)。访问方式:内部类可以直接访问外部类中的所有成员,包含私有的。而外部类要想访问内部类中的成员,必须创建内部类的对象。当描述事物时,事物的内部还有事物,这个内部的事物还在访问外部原创 2015-03-28 20:44:17 · 578 阅读 · 0 评论 -
Netty学习笔记(2)
Buffers(缓冲)Buffer 是一个数据对象,我们可以把它理解为固定数量的数据的容器,它包含一些要写入或者读出的数据。在Channel 中必须结合Buffer使用,不能直接把数据写入通道。写入数据到ByteBuf后,写入索引是增加的字节数量。开始读字节后,读取索引增加。你可以读取字节,直到写入索引和读取索引处理相同的位置,次数若继续读取,则会抛出IndexOutOfBoundsExcepti...原创 2018-07-12 11:15:45 · 379 阅读 · 0 评论
分享