Java基础
程序员Aike
Just Keep Coding
-- https://github.com/codeaike/
展开
-
【转载】UML类图画法及其之间的几种关系
【转载】UML类图画法及其之间的几种关系原文地址: https://blog.csdn.net/wanmeirongyan100/article/details/51601570UML类图画法及其之间的几种关系最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下。文章目录如下:类图画法类之间的几种关...转载 2018-12-13 09:45:47 · 295 阅读 · 0 评论 -
Java并发的场景&原因&问题浅谈
并发的三种场景分工各司其职,完成各自的工作同步有分工就要有同步,不同工人之间要协作,不同线程也是互斥多线程访问相同的共享变量,就需要做互斥处理。分工与协作强调的是性能,互斥问题强调的是正确,即线程安全问题。Java解决互斥问题提供了很多思路与工具。避免共享,没有共享,没有竞态,就没有伤害,如ThreadLocal;没有改变,如果大家都不做改变,都是只读的,一起也没有错;Copy...原创 2019-08-05 11:39:34 · 1239 阅读 · 0 评论 -
Java基础CleanCode之lombok&try-with-resources
Lombok之@Data、@Accessorspackage com.base;import lombok.Data;import lombok.experimental.Accessors;// @Data等价于@ToString、@EqualsAndHashCode、@Getter、@Setter和@RequiredArgsConstructor的集合@Data// 为属性se...原创 2019-08-02 18:00:14 · 373 阅读 · 0 评论 -
Jconsole远程连接Java进程
1、Java进程所在的tomcat容器的start.sh添加如下配置JAVA_OPTS="-Dfile.encoding=UTF-8" JAVA_OPTS="$JAVA_OPTS -Dlog.dir=$LOG_PATH" JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx(本机IP) -Dcom.sun.manag...原创 2019-07-15 16:33:11 · 2007 阅读 · 0 评论 -
几种I/O编程实践
1、传统的BIO编程 网络编程的基本模型是Client/Server模型,也就是两个进程间相互通信。其中,服务端提供位置信息(绑定的IP地址和监听端口),客户端提供连接操作向服务端监听的地址发起连接请求,通过三次握手建立连接,如果连接建立成功,双方就可以通过网络套接字(Socket)进行通信。 1.1、BIO通信模型图 BIO的服务端通常由一个独立的Acceptor线程负责...原创 2019-01-29 20:36:03 · 349 阅读 · 0 评论 -
Java I/O基础之I/O模型分类&I/O多路复用技术
1、早期Java I/O的缺陷Java 1.4之前的早期版本,Java对I/O的支持并不完善,开发人员在开发高性能I/O程序的时候,会面临一些巨大的挑战和困难,主要问题如下:(1) 没有数据缓冲区,I/O性能存在问题;(2)没有C或者C++中的Channel概念,只有输入和输出流;(3)同步阻塞式I/O通信(BIO),通常会导致通信线程被长时间阻塞;(4)支持的字符...原创 2019-01-29 12:00:28 · 744 阅读 · 0 评论 -
枚举单例类简单实践
《Effective Java》作者推荐枚举实现单例类---享有特权的客户端可以借助AccessibleObject.setAccessible方法,通过反射机制调用私有构造器。如果需要抵御这种攻击,可以修改构造器,让它在被要求创建第二个实例的时候抛出异常--- 其功能完善,使用简介,无偿地提供了序列化机制,在面对复杂的序列化或者反射攻击时任然可以绝对防止多次实例化等优点,被作者所推崇。...原创 2019-01-07 20:34:44 · 273 阅读 · 0 评论 -
【转载】JDK、JRE、JVM三者间的关系
原文地址:https://www.cnblogs.com/zhangzongxing01/p/5559126.html 【转载】JDK、JRE、JVM三者间的关系JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行...转载 2019-01-18 09:33:47 · 178 阅读 · 0 评论 -
多线程-整理汇总帖
摘自 https://blog.csdn.net/u013256816/ (内含大量消息中间件资料-RabbitMQ/Kafka、设计模式等等知识) 多线程:线程状态及相关函数、锁:https://blog.csdn.net/u013256816/article/details/85341118ThreadLocal、闭锁、栅栏、信号量:https://blog.csdn.n...原创 2019-01-05 10:57:03 · 166 阅读 · 0 评论 -
NIO基本用法-读文件
1、NIO方式读文件缓冲区 Channel 基本函数用法 等2、代码:import java.io.IOException;import java.io.RandomAccessFile;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;public class NIOTest{ ...原创 2018-12-21 16:11:50 · 207 阅读 · 0 评论 -
【转载】Java动态代理之JDK实现和CGlib实现(简单易懂)
原文地址:http://www.cnblogs.com/ygj0930/p/6542259.html 一:代理模式(静态代理) 代理模式是常用设计模式的一种,我们在软件设计时常用的代理一般是指静态代理,也就是在代码中显式指定的代理。 静态代理由 业务实现类、业务代理类 两部分组成。业务实现类 负责实现主要的业务方法,业务代理类负...转载 2018-11-16 08:46:26 · 131 阅读 · 2 评论 -
【转载】Java 11 中 11 个不为人知的瑰宝
【转载】Java 11 中 11 个不为人知的瑰宝原文地址:https://blog.csdn.net/csdnnews/article/details/84901013 作者 | Nicolai Parlog译者 | 罗昭成出品 | CSDN(ID:CSDNnews)我们已经迎来了 Java 11,尽管它的升级介绍里没有什么跨时代的特性,但却有一些不为人知的瑰宝,像沙砾中...转载 2018-12-13 09:43:08 · 184 阅读 · 0 评论 -
Java并发工具类之CompletableFuture&StampedLock&ConcurrentSkipListMap
CompletableFutureCompletableFuture是在Java8中引入的,拥有强大的功能,支持回调、工作流、异常处理等。CompletableFuture还是典型的Java8的工具类,有函数式编程、链式方法和语义化接口等.除了Future接口,CompletableFuture还实现了CompletionStage接口。这个接口内容丰富,CompletableFuture的工...原创 2019-08-06 18:11:37 · 387 阅读 · 0 评论