自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 UDP代码示例

UDP 类似发短息 ,寄快递, 对方可收可不收package JUC.UDP;import java.io.IOException;import java.net.*;public class DatagramSocketTest { public static void main(String[] args) throws IOException { DatagramSocket datagramSocket = new DatagramSocket();

2021-12-02 16:16:33 1047

原创 TCP网络编程示例

模拟客户端发送消息,服务端接收服务端:package JUC.tcp;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class TcpServerTest { public static void main(String[]

2021-12-02 10:41:47 478

原创 Docker介绍及使用

Docker为什么出现?1.从开发到上线, 存在多套环境配置, 如:本地集成环境,测试环境,UAT环境,FAT环境,生产环境等.2.版本的升级导致服务不可用, 这里...程序员经常会说 在我的电脑上好好的啊,怎么在你那跑不起来了.3.环境部署繁琐,每个服务都需要各种redis , MQ, Hadoop,elasticSearch中间件*如果一个项目可以带上自身的环境打包****Docker给以上的问题,提出了解决方案**1.java -> 打包 -> jar带上环境(镜像

2021-11-22 10:47:15 1427

原创 各种锁的理解

1.公平锁,非公平锁公平锁: 非常公平,不能插队,必须先来后到非公平锁: 非常不公平,可以插队,默认是非公平Lock lock = new ReentrantLock(true);public ReentrantLock(boolean fair) { sync = fair ? new FairSync() : new NonfairSync(); }2.可重复锁synchronized 拿一把锁 会把里面的锁也拿到public class loc

2021-11-18 15:45:31 69

原创 CAS原理分析, 以及引发的ABA问题

CAS 是AtomicInteger类中compareAndSet()方法的缩写import java.util.concurrent.atomic.AtomicInteger;/** * CAS 是compareAndSet的缩写 译:比较并交换 此操作是在内存中进行 */public class CASTest { public static void main(String[] args) { //设定初始值1 AtomicInteger ...

2021-11-18 11:12:55 183

原创 volatile 介绍

volatile是java虚拟机提供的轻量级同步机制。特点是:1.保证可见性即不同线程在对同一个变量进行修改时,保证新值对其他线程的可见。2.不保证原子性import java.util.concurrent.atomic.AtomicInteger;public class VolatileTest { //private volatile static int num = 0; private static AtomicInteger num = new A.

2021-11-17 15:23:55 42

原创 CompletableFuture 异步回调

CompletableFuture 实现了Future接口,Future最初的设计,是对将来的某个事件的返回结果进行建模。没有返回值的异步回调,结果返回的是void ,适用于成功回调,不需要结果返回。public static void main(String[] args) throws ExecutionException, InterruptedException { //执行异步回调 无返回 CompletableFuture<Void> voi

2021-11-17 09:56:29 624

原创 关于计算Forkjoin和java.util.stream流

Forkjoin是在JDK1.7的时候,用来的执行并行任务的类。可以把一个任务拆分成多个小任务,进行同步执行,来达到提高效率,适用于大数据量的场景。类似于工作窃取java.util.stream计算流是在JDK1.8的时候新增的。示例:需要继承RecursiveTask重写compute()计算方法package JUC.forkjjoin;import java.util.concurrent.RecursiveTask;public class ForkjoinTest

2021-11-15 11:20:38 89

原创 四大函数式接口

lambda表达式,链式编程,函数式接口,Stream流式计算# 函数式接口> 函数式接口:只有一个方法的接口如:@FunctionalInterfacepublic interface Runnable { public abstract void run();}经过注解@FunctionalInterface修饰代码...

2021-11-15 09:18:11 47

原创 ThreadPoolExecutor 线程池 三大方法 七大参数

> 池化技术程序的运行,本质是占用系统资源,优化资源的使用。池化技术:事先准备好的一些资源,用就来拿**好处**:1.降低资源消耗2.提高响应速度3.方便管理== 线程复用,可以控制最大并发数,管理线程 ==三大方法package com.pa.test.JUC.pool;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public cl

2021-11-10 16:44:52 609

原创 SynchronousQueue 同步队列

没有容量,进去put()一个元素,必须等待取take()出来之后,才能在往里面放。package com.pa.test.JUC.queue;import java.util.concurrent.SynchronousQueue;import java.util.concurrent.TimeUnit;/** * 同步列队 */public class SynchronousQueueTest { public static void main(String[] args) {

2021-11-10 10:40:31 338

原创 BlockingQueue 四组API

# BlockingQueue 四组API 抛出异常 不抛异常 阻塞等待 超时等待 方式 抛出异常 有返回值 阻塞等待 超时等待 添加 add() offer() put() offer(...) 移除 remove() poll() take() poll(..) 判断队列首 element() peek() package com.pa.test.

2021-11-10 10:09:36 67

原创 shell 资料

*shell查看可以使用哪种shell语言vi /etc/shellsecho 可以实现复杂的输出格式控制展示在控制台控制字符 作用 \a 输出警告音 \b 退格键,就是向左删除键 \n 换行 \r 回车 \t 制表符,就是Tab键 \v 垂直制表符 \Onnn 按照ASCII码输出,0为数字,nnn是三位八进制数 \xhh 按照16进制输出 示例:

2021-11-09 16:56:33 729

原创 ReadWriteLock JUC多线程读写锁

package com.pa.test.JUC.lock;import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;/** * ReadWriteLock * 读 读 可以共存 * 读 写 不能共存 * 写 写 不能共存 */publ.

2021-11-04 14:56:19 55

原创 CountDownLatch,CyclicBarrier,Semaphore 使用

package com.pa.test.JUC.support;import java.util.concurrent.CountDownLatch;/** * CountDownLatch 减法计数器 * 原理: * countDownLatch.countDown(); //数量-1 * countDownLatch.await(); //执行等待 等待计数器归零,然后在向下执行 * 每次有线程调用countDownLatch.countDown()数量-1 ,当计数器为0 , co.

2021-11-01 16:57:55 60

原创 synchronized 和 lock的区别

1.synchronized 内置java关键字 lock是java类2.synchronized 无法获取锁的状态 lock可以判断是否获取到锁3.synchronized 会自动释放锁 lock必须手动释放,如果不释放就会成为死锁4.synchronized 在多线程的情况下,如果一条线程执行时间很久,后面的线程会一直等待。 lock锁不会等5.synchronized 可重入锁,不可以中断,非公平。 lock可重入锁,可以判断锁,可以设置公平或非公平6.synchronized 适

2021-10-26 10:37:29 51

原创 使用maven打zip包

pom.xml文件加入:<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptors> <descriptor>assembly.xml</descriptor> </descriptors> </configuration> <executions&gt

2021-10-08 09:58:18 222

原创 项目打zip包 代码示例

public static void main(String[] args) throws MojoFailureException, MojoExecutionException { new DownloadFilesMojo().execute(); } @Override public void execute() throws MojoExecutionException, MojoFailureException { //本地测试...

2021-07-21 14:37:17 120

原创 常用的java工具类

常用的java工具类一org.apache.commons.io.IOUtilscloseQuietly 关闭一个IO流,socket 或者selector且不抛出异常,通常放在finally快toString 转换IO流,Uri,byte[]为Stringcopy IO流数据复制,从输入流写到输出流中,最大支持2GbtoByteArray 从输入流,URI获取byte[]writ...

2019-08-14 10:39:29 202

原创 Weblogic部署项目

Weblogic部署项目1 启动weblogic服务,登录用户名和密码2 点击左侧的部署3 点击安装按钮4 看到路径输入框,可以在下面选择要部署的项目的位置5 选择项目路径6 点击下一步7 继续下一步8 点击完成按钮9 保存10 成功状态11 点击部署,勾选上项目,点击启动...

2019-03-09 12:30:13 93

原创 遇到weblogic报错 此时不应有 \Java\jdk1.6.0_10\lib

遇到weblogic报错 此时不应有 \Java\jdk1.6.0_10\lib1.一定要使用WebLogic指定的JDK ,在eclipse中要设置路径。D:\Weblogic\jdk160_292.JDK的冲突了,需要修改环境配置环境变量修改方法 计算机——右键属性——搞系统设置——环境变量,认真找找,环境变量里边肯定有关于jdk1.6 的信息,改成你安装的JDK版本路径就可以了...

2019-03-09 12:17:07 1109

spring事务管理机制资料.zip

spring事务管理机制资料.zip

2021-12-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除