![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
灬奔跑的蜗牛灬
这个作者很懒,什么都没留下…
展开
-
DockerMaven 插件 <version>1.4.10</version>
通过maven 插件自动部署Maven 插件 自动部署步骤1.1 修改宿主机的Docker 配置,让其可以远程访问vi /lib/systemd/system/docker.service# 2. 其中 ExecStart= 后添加配置 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock1.2 刷新配置重启服务systemctl daemon-reloadsystemctl restart dockerdocker start原创 2021-11-15 23:54:27 · 860 阅读 · 0 评论 -
HttpClient工具类编写
什么是HttpClientHTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是Apache HttpComponents 下的...原创 2020-03-06 19:12:25 · 359 阅读 · 0 评论 -
IDEA Java性能分析插件VisualVM Launcher 配置
IDEA 加载插件 VisualVM Launcher2. 从本地jdk中选择visualvm.exe,进行配置。3. 启动实时观测4. 实时监控原创 2019-12-04 00:36:36 · 756 阅读 · 0 评论 -
MyBatis 集成MyBatisPlus
创建maven 工程加入依赖<dependencies> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>2.1.8</ve原创 2019-11-19 13:06:16 · 174 阅读 · 0 评论 -
ActiveMQ 安装及使用套装
下载ActiveMQ 安装包下载地址:http://activemq.apache.org/components/classic/download/2. 解压tar -zxvf apache-activemq-5.15.10-bin.tar.gz 启动/stop(./activemq stop)cd apache-activemq-5.15.10/bin./activemq ...原创 2019-11-17 22:22:44 · 223 阅读 · 0 评论 -
BIO/NIO/AIO编程
BIO 编程Blocking IO: 同步阻塞的编程方式。BIO 编程方式通常是在 JDK1.4 版本之前常用的编程方式。编程实现过程为:首先在服务端启动一个 ServerSocket 来监听网络请求,客户端启动 Socket 发起网络请求,默认情况下ServerSocket 回建立一个线程来处理此请求,如果服务端没有线程可用,客户端则会阻塞等待或遭到拒绝。且建立好的连接,在通讯过程中,是...原创 2019-03-12 00:09:43 · 171 阅读 · 0 评论 -
JVM
堆结构及对象分代什么是分代,分代的必要性是什么Java 虚拟机根据对象存活的周期不同,把堆内存划分为几块,一般分为新生代、老年代和永久代 (对 HotSpot 虚拟机而言),这就是 JVM 的内存分代策略。堆内存是虚拟机管理的内存中最大的一块,也是垃圾回收最频繁的一块区域,我们程序所有的对象实例都存放在堆内存中。给堆内存分代是为了提高对象内存分配和垃圾回收的效率。试想一下,如果堆内存...原创 2019-03-11 23:35:20 · 142 阅读 · 0 评论 -
手写可重入锁(Lock)
可重入锁用 lock 来保证原子性。什么是原子性,就是不可分,从头执行到尾,不能被其他线程同时执行。可通过CAS来实现原子操作CAS(Compare and Swap):CAS操作需要输入两个数值,一个旧值(期望操作前的值)和一个新值,在操作期间先比较下旧值有没有发生变化,如果没有发生变化,才交换成新值,发生了变化则不交换。CAS主要通过compareAndSwapXXX()方法来实...原创 2019-03-14 00:23:49 · 467 阅读 · 0 评论 -
ThreadLocal 基本使用
ThreadLocal很多地方叫做线程本地变量,也有些地方叫做线程本地存储,ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。它本身是为线程安全和某些特定场景的问题而设计的。先了解一下ThreadLocal类提供的几个方法:public T get() { } public void set(T value) { } publi...原创 2019-03-13 22:46:54 · 310 阅读 · 0 评论 -
Ajax短轮询,长轮询,SSE(Server Sent Event)轮询 和 websocket轮询
AJAX轮询方式客服端以用户定义的时间间隔去服务器上查询最新的数据。太短的时间间隔客服端会对服务器在短时间内发送出多个请求。长轮询或者COMET。服务器与客服端需要保持一条长时间的请求,它使得服务器在有数据时可以返回消息给客户端。HTTP协议http 协议是请求/响应范式的,每个 http 响应都对应一个 http 请求,http 协议是无状态的,多个 http 请求之间相互隔...原创 2019-03-09 01:07:00 · 1156 阅读 · 0 评论 -
JDK8 lambda 表达式的使用
JDK8的重要新特性之一——Lambda表达式JDK 8 之前,java不支持函数式编程的。函数编程,即可理解是将一个函数(也称为“行为”)作为一个参数进行传递。通常我们提及得更多的是面向对象编程,面向对象编程是对数据的抽象(各种各样的POJO类),而函数式编程则是对行为的抽象(将行为作为一个参数进行传递)。在JavaScript中这是很常见的一个语法特性,但在Java中将一个函数作为参数传递...原创 2019-03-05 00:39:09 · 258 阅读 · 0 评论 -
数组的反射
数组的反射具有相同维数和元素类型的数组属于同一个类型,即相同的Class对象代表数组的Class实例对象的getSuperClass()方法返回的父类为object类对应的Class基本类型的一维数组可以被当作object类型使用,不能当作Object[]类型使用,非基本类型的一维数组,既可以当Object类型使用,又可以当Object[]类型使用。//JDK1.6 Arrayspu...原创 2018-12-19 21:48:50 · 388 阅读 · 0 评论 -
JDK动态代理和CGLIB动态代理
JDK动态代理:概述:代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。详细介绍请参考:java设计模式之代理模式。为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看来两者没有丝毫的区别。通过代理类这中间一层,能有效控制对委托类对象的直接访问,也可以很好...原创 2018-11-28 22:34:35 · 140 阅读 · 0 评论 -
多线程
实现多线程的方式线程依赖于进程而存在,进程由系统创建的,因此需调用系统功能创建一个进程,Java不能直接调用系统功能,所以没办法实现多线程技术,但是,Java可以调用C/C++写好的程序实现多线程,由C/C++去调用系统功能创建进程。提供一些类,由Java去调用。1. 继承Thread类 1.1 自定义类继承Thread类 1.2 重写run()方法 1.3 创建对象 ...原创 2018-11-01 11:08:50 · 117 阅读 · 0 评论 -
XML配置SSM
SSM整合xmlXML头文件&amp;amp;amp;amp;lt;?xml version=&amp;amp;amp;quot;1.0&amp;amp;amp;quot; encoding=&amp;amp;amp;quot;UTF-8&amp;amp;amp;quot;?&amp;amp;amp;amp;gt;新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的原创 2018-10-31 20:21:08 · 144 阅读 · 0 评论