上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页
摘要: 1.Docker容器化封装应用的意义 docker引擎统一了基础设施环境[docker环境] 硬件的配置 操作系统的版本,只要docker ce版本一致就可以 运行时环境的异构, docker引擎统一了程序打包装箱的方式-docker镜像 java程序 python程序 nodejs程序 docke 阅读全文
posted @ 2021-11-23 15:28 SpecialSpeculator 阅读(88) 评论(0) 推荐(0)
摘要: 1.抽象BeanContext,内嵌静态方法 @Component public class BeanContext implements ApplicationContextAware { private static ApplicationContext applicationContext; 阅读全文
posted @ 2021-11-12 13:31 SpecialSpeculator 阅读(502) 评论(0) 推荐(0)
摘要: Centos6官方已停止维护,建议更新到7或者8 yum源,阿里云,网易都用不了6的centos6的源了,搜狐还能用 使用搜狐的yum源 Centos-Base.repo [base] name=CentOS-6 failovermethod=priority # 搜狐源 网速200k左右,比较给力 阅读全文
posted @ 2021-11-11 15:32 SpecialSpeculator 阅读(49) 评论(0) 推荐(0)
摘要: 1.springboot要版本保持在2.5以上 2.添加跨域配置 CorsConfig import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configur 阅读全文
posted @ 2021-11-11 11:54 SpecialSpeculator 阅读(158) 评论(0) 推荐(0)
摘要: 查看根分区下哪个目录文件数最多 for i in /*; do echo $i; find $i | wc -l; done 如果是export的可以根据export的目录一级一级查询下去 for i in /export/*; do echo $i; find $i | wc -l; done 删 阅读全文
posted @ 2021-11-04 19:36 SpecialSpeculator 阅读(54) 评论(0) 推荐(0)
摘要: python3.6环境安装 #!/bin/bash # utf-8 # desc : install Python-3.6.5 and python dependency source /etc/profile &> /dev/null yum install bzip2-devel xz-deve 阅读全文
posted @ 2021-11-04 19:30 SpecialSpeculator 阅读(156) 评论(0) 推荐(0)
摘要: 1.引入pom <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>3.8.5</version> </dependency> 2.指定使用特殊驱动 datasource.properties s 阅读全文
posted @ 2021-11-02 15:05 SpecialSpeculator 阅读(718) 评论(0) 推荐(0)
摘要: mybatis-plus 使用xml进行调用 1.创建xml文件 创建层级目录a.dao.mapper(而不是创建一个目录名字叫a.dao.mapper) 创建文件ContactMapper.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE 阅读全文
posted @ 2021-11-02 14:58 SpecialSpeculator 阅读(1861) 评论(0) 推荐(0)
摘要: 1.下载centos7.6镜像,并安装 https://archive.kernel.org/centos-vault/7.6.1810/isos/x86_64/ 2.网卡1选择nat 网卡配置文件 enp0s3 DEVICE=enp0s3 TYPE=Ethernet ONBOOT=yes NM_C 阅读全文
posted @ 2021-11-01 21:25 SpecialSpeculator 阅读(68) 评论(0) 推荐(0)
摘要: 大纲 第一章:容器技术概述 第二章:docker容器引擎的安装部署 第三章:docker的镜像管理 第四章:docker的基本操作 第五章:docker的高级操作 第六章:docker file详解 第七章:综合实验 第八章:docker的网络模型 第一章:容器技术概述 容器本质是承东西+做隔离 p 阅读全文
posted @ 2021-11-01 15:46 SpecialSpeculator 阅读(140) 评论(0) 推荐(0)
摘要: Async注解 1.自定义使用的线程池 @EnableAsync @Configuration public class AsyncConfig implements AsyncConfigurer { @Bean("customAsyncPool") @Override public Thread 阅读全文
posted @ 2021-11-01 13:44 SpecialSpeculator 阅读(78) 评论(0) 推荐(0)
摘要: 1.Springboot启动原理分析 1.1 继承spring-boot-starter-parent,就相应的继承了一些版本控制的东西 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star 阅读全文
posted @ 2021-10-29 15:53 SpecialSpeculator 阅读(198) 评论(0) 推荐(0)
摘要: 1.worker_processes auto; worker进程数,最优值取决于许多因素,包括但不限于cpu核的数量,磁盘空间,负载模式。设置为cpu核数是一个很好的开始,auto会自动检查cpu核数,并设置它。 2.worker_rlimit_nofile 100000; 更改工作进程的最大打开 阅读全文
posted @ 2021-10-29 11:42 SpecialSpeculator 阅读(207) 评论(0) 推荐(0)
摘要: Nginx的压缩配置 gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript t 阅读全文
posted @ 2021-10-29 11:21 SpecialSpeculator 阅读(138) 评论(0) 推荐(0)
摘要: 日志文件按天自动切割 mv /data1/logs/access.log /data1/logs/20090318.log kill -USR1 Nginx主进程号 阅读全文
posted @ 2021-10-29 11:18 SpecialSpeculator 阅读(30) 评论(0) 推荐(0)
摘要: Nginx的平滑升级 (1)使用新的可执行程序替换旧的可执行程序,将新版本编译安装到旧版本的nginx安装目录中 (2)kill -USR2 nginx的主进程号 (3)nginx主进程自动重命名它的pid文件,然后执行新版本的nginx可执行程序,依次启动主进程和新的工作进程 (4)kill -W 阅读全文
posted @ 2021-10-29 11:15 SpecialSpeculator 阅读(77) 评论(0) 推荐(0)
摘要: 1.client_max_body_size 300m; 允许客户端请求的最大单个文件字节数,出现在请求头的Content-Length字段 2.client_body_buffer_size 128k; 指定连接请求使用的缓冲区大小,默认8K/16K 如果客户端请求一个文件大于128k,则ngin 阅读全文
posted @ 2021-10-29 11:07 SpecialSpeculator 阅读(194) 评论(0) 推荐(0)
摘要: Nginx中支持的几个重要信号 TERM,INT 快速关闭信号 QUIT 从容关闭 HUP 重载配置用新的配置开始新的工作进程从容关闭旧的工作进程(用的比较多) USR1 重新打开日志文件(用的比较多) USR2 平滑升级可执行程序 WINCH 从容关闭工作进程 阅读全文
posted @ 2021-10-29 10:51 SpecialSpeculator 阅读(80) 评论(0) 推荐(0)
摘要: 使用效果 新的文档使用 <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <!--在引用时请在maven中央仓库搜索3.X最新版本号--> 阅读全文
posted @ 2021-10-21 14:18 SpecialSpeculator 阅读(170) 评论(0) 推荐(0)
摘要: springboot启动后执行某些动作 1.主要是springboot的启动run方法里调用了callRunners,会去调用实现了ApplicationRunner接口的类的方法 public ConfigurableApplicationContext run(String... args) { 阅读全文
posted @ 2021-10-20 14:28 SpecialSpeculator 阅读(212) 评论(0) 推荐(0)
摘要: 自定义AOP,实现自动捕获方法的执行时间 1.自定义Aspect @Component @Aspect public class JournalServiceAspect { private static final Logger logger = LoggerFactory.getLogger(JournalServiceAspect.c 阅读全文
posted @ 2021-10-15 15:57 SpecialSpeculator 阅读(108) 评论(0) 推荐(0)
摘要: 1.Namespace 资源隔离 保证应用于应用隔离 pid 进程编号 net 网络设备,网络协议栈,端口 ipc 信号量,消息队列,共享内存,内存隔离 mount 文件系统,挂载点 uts 主机名和主机域 user 操作进程的用户和用户组(linux内核在3.8以上才实现,所以centos要7以上 阅读全文
posted @ 2021-09-07 19:02 SpecialSpeculator 阅读(34) 评论(0) 推荐(0)
摘要: 1.反射概念 反射是java中强大的工具,灵活代码 运行时装配的概念,无需组件之间代码连接 2.反射作用 反射机制访问java对象的属性,方法,构造方法等 3.jdk中提供的反射的类 java.lang.Class; java.lang.reflect.Constructor; java.lang. 阅读全文
posted @ 2021-08-31 16:44 SpecialSpeculator 阅读(44) 评论(0) 推荐(0)
摘要: JAVA事件机制 事件机制包含3个部分:事件,监听器,事件源 1.事件 继承java.util.EventObject类,封装了事件源对象及跟踪事件相关信息 自定义事件类CustomEvent import java.util.EventObject; public class CustomEven 阅读全文
posted @ 2021-08-27 17:28 SpecialSpeculator 阅读(499) 评论(0) 推荐(0)
摘要: 1.Java类加载过程 java文件从编码到执行,一般包括2个过程 编译 运行 编译是把java文件通过javac编译成字节码文件class 运行是把class文件交给jvm执行 类的加载过程:就是jvm把class文件中的类信息加载到内存,并解析生成对应class对象的过程 jvm惰性加载,不是一 阅读全文
posted @ 2021-08-27 15:02 SpecialSpeculator 阅读(40) 评论(0) 推荐(0)
摘要: 1.如何优化一个询价应用的核心代码呢? ThreadPoolExecutor+Future的方案, 用3个线程异步执行,通过3次调用future的get方法后去查价结果,然后价格保存在数据库中 // 创建线程池 ExecutorService executor = Executors.newFixe 阅读全文
posted @ 2021-07-14 14:38 SpecialSpeculator 阅读(139) 评论(0) 推荐(0)
摘要: 1.抓子线程的信息, 子线程的断点打的时候,可以选择 小红点,右键,选择Thread 2.查看当前的栈信息 3.去掉无用import ctrl + alt + o 阅读全文
posted @ 2021-07-14 13:41 SpecialSpeculator 阅读(133) 评论(0) 推荐(0)
摘要: 1.异步编程 串行操作并行化,涉及到异步化 异步化,是并行方案得以实施的接触,利用多线程优化性能这个核心方案来实施的基础。 jdk1.8提供了CompletableFuture支持异步编程 2.CompletableFuture 核心优势 烧水泡茶,3个任务 任务1,洗水壶,烧开水 任务2,洗茶壶, 阅读全文
posted @ 2021-07-08 17:30 SpecialSpeculator 阅读(194) 评论(0) 推荐(0)
摘要: 1.如何使用线程池 ThreadPoolExecutor是否提供了获取任务执行结果的功能呢 2.如何获取任务执行结果 3个sumit方法+1个futureTask工具类 Future<?> submit(Runnable task); <T> Future<T> submit(Callable<T> 阅读全文
posted @ 2021-07-08 17:02 SpecialSpeculator 阅读(68) 评论(0) 推荐(0)
摘要: 1.创建线程 创建对象,仅仅在jvm堆里分配一块内存 创建线程,调用操作系统内核api,操作系统为线程分配一系列资源,线程是重量级对象,应该避免频繁创建和销毁 2.线程池 线程池和一版池化资源不同,一般池化资源是acquire申请资源,release释放资源 java提供的线程池里没有申请线程和释放 阅读全文
posted @ 2021-07-07 16:29 SpecialSpeculator 阅读(69) 评论(0) 推荐(0)
摘要: 1.原子类 可见性问题,可以通过volatile解决 原子性问题,可以采用互斥锁方案 2.无锁方案 public class Test { AtomicLong count = new AtomicLong(0); void add10K() { int idx = 0; while(idx++ < 阅读全文
posted @ 2021-07-07 15:24 SpecialSpeculator 阅读(43) 评论(0) 推荐(0)
摘要: 1.并发容器 容器4大类List,Map,Set,Queue 但不是所有的容器都是线程安全的 2.非线程安全的容器如何变为线程安全的容器 把非线程安全的容器封装在对象内部,控制好访问路径就可以了 3.ArrayList 变为线程安全的的列表 SafeArrayList SafeArrayList<T 阅读全文
posted @ 2021-07-06 17:53 SpecialSpeculator 阅读(51) 评论(0) 推荐(0)
摘要: 1.校对逻辑 2.单线程里循环查询订单,派送单,执行对账 while(存在未对账订单){ // 查询未对账订单 pos = getPOrders(); // 查询派送单 dos = getDOrders(); // 执行对账操作 diff = check(pos, dos); // 差异写入差异库 阅读全文
posted @ 2021-07-06 17:08 SpecialSpeculator 阅读(46) 评论(0) 推荐(0)
摘要: 1.StampedLock 读多写少的场景,StampedLock性能比读写锁更好 2.StampedLock 支持的三种锁模式 读写锁,2种模式,读锁,写锁 stampedLock是3种模式,写锁,悲观锁,乐观锁 写锁,悲观锁的语意和ReadWriteLock的写锁,读锁,语意类似,允许多个线程同 阅读全文
posted @ 2021-07-06 16:18 SpecialSpeculator 阅读(76) 评论(0) 推荐(0)
摘要: 1.其他工具类 用途:分场景优化性能,提升易用性 2.并发场景,读多写少 使用缓存,缓存元数据,缓存基础数据 缓存的数据一定是读多写少 3.读写锁ReadWriteLock 非常容易使用,性能很好 1.允许多个线程同时读共享变量 2.只允许一个线程写共享变量 3.如果一个写线程正在执行写操作,此时禁 阅读全文
posted @ 2021-07-06 14:37 SpecialSpeculator 阅读(54) 评论(0) 推荐(0)
摘要: 1.Semaphore 信号量,类比红绿灯 编程中,线程能不能执行,看信号量是否允许 2.信号量模型 计数器+等待队列+三个方法 计数器和等待队列对外是透明的,只能通过提供的三个方法(init,down,up)来访问它们 init()设置计数器的初始值 down()计数器值减1,计数器当前值小于0, 阅读全文
posted @ 2021-07-06 14:03 SpecialSpeculator 阅读(96) 评论(0) 推荐(0)
摘要: Dubbo用管程实现异步转同步 Lock可以响应中断,支持超时,以及非阻塞获取锁 Condition实现了管程里面的条件变量 synchronized里的条件变量只有1个,而Lock和Condition的组合可以有多个条件变量 1.利用两个条件变量实现阻塞队列 阻塞队列,2个条件变量,1个是队列不空 阅读全文
posted @ 2021-07-02 14:53 SpecialSpeculator 阅读(73) 评论(0) 推荐(0)
摘要: 1.并发领域核心问题互斥 同一时刻只能一个线程访问共享资源。 Lock解决互斥问题 2.并发领取核心问题同步 线程之间如何通信,协作 Condition解决同步问题 3.为什么要重复造轮子 synchronized已经实现管程,为什么要再实现一遍管程 synchronized性能不好 synchro 阅读全文
posted @ 2021-07-01 16:16 SpecialSpeculator 阅读(58) 评论(0) 推荐(0)
摘要: 面向对象思想写并发程序 1. 封装共享变量 面向对象封装, 属性和实现细节封装在对象内部,外部通过公共方法简介访问内部属性 将共享变量作为对象属性封装在内部,对外公共方法制定并发访问策略 以计数器为例,共享变量value,将公共方法get和addOne声明为同步方法,这样就对共享变量的操作就变成了线 阅读全文
posted @ 2021-07-01 15:15 SpecialSpeculator 阅读(44) 评论(0) 推荐(0)
摘要: 1.局部变量的线程安全问题 局部变量不是共享变量 2.方法是如何被执行的 cpu找到方法的地址,跳到地址执行代码。 cpu从cpu的堆栈寄存器找到方法的参数和返回地址。方法栈 3.局部变量存哪里 方法内的局部变量存哪里 局部变量和方法同生同死。 方法调用栈的栈帧就是和方法同生同死 所以局部变量放到方 阅读全文
posted @ 2021-07-01 15:00 SpecialSpeculator 阅读(88) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页