03 2022 档案

摘要:public static Unsafe reflectGetUnsafe() { try { Field field = Unsafe.class.getDeclaredField("theUnsafe"); field.setAccessible(true); return (Unsafe) f 阅读全文
posted @ 2022-03-31 17:45 甜菜波波 阅读(54) 评论(0) 推荐(0) 编辑
摘要:听云APM 阅读全文
posted @ 2022-03-31 17:06 甜菜波波 阅读(41) 评论(0) 推荐(0) 编辑
摘要:对于 Java 数组的初始化,有以下两种方式: 静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度,如: 1 2 3 4 //只是指定初始值,并没有指定数组的长度,但是系统为自动决定该数组的长度为4 String[] computers = {"Dell", "Lenovo 阅读全文
posted @ 2022-03-31 15:11 甜菜波波 阅读(144) 评论(0) 推荐(0) 编辑
摘要:ThreadPoolExecutor 除了execute 方法用来提交任务,还有submit 方法,他们的区别就是后者有返回值,其原理是在前者的基础上使用了Future 接口。因此,我之前的示例改用submit 方法来实现会更加简单。原因有二: 1、submit 方法提交的任务有返回值,方便判断每个 阅读全文
posted @ 2022-03-31 14:26 甜菜波波 阅读(1529) 评论(0) 推荐(0) 编辑
摘要:作者:阿甘链接:https://zhuanlan.zhihu.com/p/472592171来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 线程池基础知识 在Java语言中,虽然创建并启动一个线程非常方便,但是由于创建线程需要占用一定的操作系统资源,在高并发的情况下, 阅读全文
posted @ 2022-03-31 14:22 甜菜波波 阅读(56) 评论(0) 推荐(0) 编辑
摘要:作者:EnjoyMoving链接:https://www.zhihu.com/question/53826114/answer/236363126来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 偏向所锁,轻量级锁都是乐观锁,重量级锁是悲观锁。 一个对象刚开始实例化的时 阅读全文
posted @ 2022-03-31 13:57 甜菜波波 阅读(386) 评论(0) 推荐(0) 编辑
摘要:Java中的四种引用 Java中有四种引用类型:强引用、软引用、弱引用、虚引用。 Java为什么要设计这四种引用 Java的内存分配和内存回收,都不需要程序员负责,都是由伟大的JVM去负责,一个对象是否可以被回收,主要看是否有引用指向此对象,说的专业点,叫可达性分析。 Java设计这四种引用的主要目 阅读全文
posted @ 2022-03-31 11:38 甜菜波波 阅读(123) 评论(0) 推荐(0) 编辑
摘要:前言 面试官:来说说,一千万的数据,你是怎么查询的? B哥:直接分页查询,使用limit分页。 面试官:有实操过吗? B哥:肯定有呀 此刻献上一首《凉凉》 也许有些人没遇过上千万数据量的表,也不清楚查询上千万数据量的时候会发生什么。 今天就来带大家实操一下,这次是基于MySQL 5.7.26做测试 阅读全文
posted @ 2022-03-30 17:13 甜菜波波 阅读(215) 评论(0) 推荐(0) 编辑
摘要:今天主要通过多读单写的例子来说下读写锁的原理概念多读单写,简单说,就是对资源的访问分为两种状态,一种是读操作,另一种是写操作。由应用程序提示锁应该做哪种操作。当为读模式时,所有的写动作被悬挂,而读请求被允许通过,而写动作时,所有操作被悬挂。并且,读写切换时,有足够的状态等待,直到真正安全时,才会切换 阅读全文
posted @ 2022-03-30 16:10 甜菜波波 阅读(155) 评论(0) 推荐(0) 编辑
摘要:由来和具体概念从JDK5开始,JSR-133使用 happens-before 来实现变量的内存可见性问题。在JMM中,如果一个操作执行的结果需要对另外一个操作可见,那么二者必定要存在 happens-before 关系。与开发人员密切相关的 happens-before 规则1、程序顺序规则:一个 阅读全文
posted @ 2022-03-30 16:02 甜菜波波 阅读(81) 评论(0) 推荐(0) 编辑
摘要:今天无意中搜了一下Collections.reverse这个方法,结果发现有些人对它的误解蛮深的。下面是一个有百万访问量博主写的,reverse可以对指定列表进行降序排序,可是自己输出的结果都不是降序。这里写图片描述确实,使用Collections.reverse结合一定方法可以实现对list集合降 阅读全文
posted @ 2022-03-30 15:39 甜菜波波 阅读(2145) 评论(0) 推荐(0) 编辑
摘要:list与set方法的区别有:list可以允许重复对象和插入多个null值,而set不允许;list容器是有序的,而set容器是无序的等等 阅读全文
posted @ 2022-03-30 11:33 甜菜波波 阅读(104) 评论(0) 推荐(0) 编辑
摘要:在工作中,经常会碰到CPU占用100%的情况,那如何找到是那个线程占用了cpu呢? 1. top命令,找到cpu占用最高的进程 2. 查看该进程的线程, top -p <pid> 3. ctrl+H 切换到线程模式,找到占用cpu最高的线程。并把线程号转化为十六进制,printf "%x\n" <线 阅读全文
posted @ 2022-03-29 13:47 甜菜波波 阅读(2002) 评论(0) 推荐(0) 编辑
摘要:1 static void test9() throws InterruptedException{ 2 Thread thread1=new Thread(()->{ 3 try { 4 System.out.println("111"); 5 Thread.sleep(1000); 6 }cat 阅读全文
posted @ 2022-03-29 10:53 甜菜波波 阅读(81) 评论(0) 推荐(0) 编辑
摘要:顺序死锁:过度加锁,导致由于执行顺序的原因,互相持有对方正在等待的锁 资源死锁:多个线程在相同的资源上发生等待 由于调用顺序而产生的死锁 public class Test { Object leftLock = new Object(); Object rightLock = new Object 阅读全文
posted @ 2022-03-29 10:33 甜菜波波 阅读(223) 评论(0) 推荐(0) 编辑
摘要:工欲善其事,必先利其器 简介 本篇整理两个排查问题的简单技巧,一个是java死锁排查,这个一般在面试的时会问到,如果没有写多线程的话,实际中遇到的机会不多;第二个是java cpu 100%排查,这个实际的开发中,线的应用出现这个问题可能性比较大,所以这里简单总结介绍一下,对自己学习知识的一个整理, 阅读全文
posted @ 2022-03-28 17:37 甜菜波波 阅读(422) 评论(0) 推荐(0) 编辑
摘要:List<?>和List<Class<?>>区别及泛型相关 ?表示是任意类型,但是编译器不能确定他是什么类型,所以你add的时候什么参数也不能传给它Class<?>表示任意类型的Class对象,list里面可以添加任何类型的Class对象,其它的对象不能添加,也就是只能添加类似list.add(st 阅读全文
posted @ 2022-03-25 16:21 甜菜波波 阅读(656) 评论(0) 推荐(1) 编辑
摘要:java通过反射的类扫描工具类,通过遍历类的字节码,找到目标文件,通过反射实例化,目标类,可以通过接口和注解两种方式进行扫描。 package com.csnt.scdp.bizmodules.modules.util; import java.io.File; import java.io.IOE 阅读全文
posted @ 2022-03-25 15:44 甜菜波波 阅读(1393) 评论(0) 推荐(0) 编辑
摘要:使用springboot的人基本都知道swagger,那么swagger是如何生成swagger-ui.html页面的呢?相信大家都能猜到,就是扫描程序中带有指定注解的类(带有@RestController和 @Controller)和方法(@RequestMapping等),然后又根据方法上的@A 阅读全文
posted @ 2022-03-25 15:32 甜菜波波 阅读(770) 评论(0) 推荐(0) 编辑
摘要:package TestDaiLi; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class Main { pu 阅读全文
posted @ 2022-03-25 11:41 甜菜波波 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1 快速介绍 MysqlWriter 插件实现了写入数据到 Mysql 主库的目的表的功能。在底层实现上, MysqlWriter 通过 JDBC 连接远程 Mysql 数据库,并执行相应的 insert into ... 或者 ( replace into ...) 的 sql 语句将数据写入 M 阅读全文
posted @ 2022-03-25 10:32 甜菜波波 阅读(1229) 评论(0) 推荐(0) 编辑
摘要:{ "job": { "setting": { "speed": { "channel": 2 } }, "content": [ { "reader": { "name": "mysqlreader", "parameter": { "username": "XXX", "password": " 阅读全文
posted @ 2022-03-25 10:31 甜菜波波 阅读(1175) 评论(0) 推荐(0) 编辑
摘要:Maven项目中使用日志slf4j的步骤 1、在POM.XML中加入依赖(红色部分) <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <excl 阅读全文
posted @ 2022-03-25 09:42 甜菜波波 阅读(1814) 评论(0) 推荐(0) 编辑
摘要:package TestLogging; import java.util.logging.Level; import java.util.logging.Logger; public class Main { public static void main(String[] args) { Log 阅读全文
posted @ 2022-03-25 09:04 甜菜波波 阅读(209) 评论(0) 推荐(0) 编辑
摘要:@PostConstruct注解详解 往往我们在项目启动时需要加载某个方法的时候,可以使用@Component+@PostConstruct方法将一个方法完成初始化操作,@PostConstruct注解的方法会将在依赖注入完成之后被自动调用。该注解在整个Bean初始化中执行的顺序: @Constru 阅读全文
posted @ 2022-03-24 18:12 甜菜波波 阅读(5043) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2022-03-24 15:58 甜菜波波 阅读(0) 评论(0) 推荐(0) 编辑
摘要:参考文献:https://www.jianshu.com/p/2bf15c5265c5 https://www.jianshu.com/p/da1127c51c90 今天刚开始看kotlin的泛型语法和概念,觉得之前java中学过泛型,可能这个也差不多吧。。。。。嗯,确实差不多,想着跟之前一样用类比 阅读全文
posted @ 2022-03-23 15:09 甜菜波波 阅读(979) 评论(0) 推荐(0) 编辑
摘要:前置知识 1、堆中各大小的参数设置 -Xms32M 初始堆大小 -Xmx32M 最大堆大小 -Xmn16M 新生代大小 -XX:MetaspaceSize=256M 设置元空间的初始值 -XX:MaxMetaspaceSize=256M 设置最大元空间大小 -XX:SurvivorRatio=8 设 阅读全文
posted @ 2022-03-22 18:06 甜菜波波 阅读(660) 评论(0) 推荐(0) 编辑
摘要:嗯,其实很早之前就想写这篇文章了,稍稍接触过redis的人都知道redis的两种持久化方式以及对应的配置。但是我还是想说一下面试中的redis的此类问题,例如面试官问你,eg:我们都知道redis的几种持久化方式,请简述一下他们的区别和优缺点。我们经常接触,但是如果面试没做准备的话还是很容易被问懵, 阅读全文
posted @ 2022-03-22 18:03 甜菜波波 阅读(352) 评论(1) 推荐(0) 编辑
摘要:什么是单元测试呢?单元测试就是针对最小的功能单元编写测试代码。Java程序最小的功能单元是方法,因此,对Java程序进行单元测试就是针对单个Java方法的测试。 单元测试有什么好处呢?在学习单元测试前,我们可以先了解一下测试驱动开发。 所谓测试驱动开发,是指先编写接口,紧接着编写测试。编写完测试后, 阅读全文
posted @ 2022-03-22 16:00 甜菜波波 阅读(305) 评论(0) 推荐(0) 编辑
摘要:使用Future获得异步执行结果时,要么调用阻塞方法get(),要么轮询看isDone()是否为true,这两种方法都不是很好,因为主线程也会被迫等待。 从Java 8开始引入了CompletableFuture,它针对Future做了改进,可以传入回调对象,当异步任务完成或者发生异常时,自动调用回 阅读全文
posted @ 2022-03-22 15:36 甜菜波波 阅读(448) 评论(0) 推荐(0) 编辑
摘要:Java项目编程中,为了充分利用计算机CPU资源,一般开启多个线程来执行异步任务。但不管是继承Thread类还是实现Runnable接口,都无法获取任务执行的结果。JDK 5中引入了Callable和Future,通过它们执行异步任务可以获取执行结果。 FutureTask分析 JDK 5中获取任务 阅读全文
posted @ 2022-03-22 15:17 甜菜波波 阅读(1777) 评论(0) 推荐(0) 编辑
摘要:本文打算介绍几个不太容易说出其区别,或者用途的 Spring 注解,比如 @Component 与 @Bean 的比较,@ControllerAdvice 是如何处理自定义异常的等等。 Spring 中的一些注解 1. @Component 和 @Bean 的区别是什么? 作用对象不同:@Compo 阅读全文
posted @ 2022-03-22 14:57 甜菜波波 阅读(456) 评论(0) 推荐(2) 编辑
摘要:static int num=1; static void test3() throws InterruptedException{ Lock lock=new ReentrantLock(true); Condition conditionLock1=lock.newCondition(); Co 阅读全文
posted @ 2022-03-21 17:36 甜菜波波 阅读(77) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2022-03-21 17:13 甜菜波波 阅读(0) 评论(0) 推荐(0) 编辑
摘要:Java并发编程:CountDownLatch、CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。 以下是本 阅读全文
posted @ 2022-03-21 16:41 甜菜波波 阅读(29) 评论(0) 推荐(0) 编辑
摘要:双亲委派机制时JVM类加载的默认使用的机制,其原理是:当一个类加载器收到类加载任务时,会先交给自己的父加载器去完成,因此最终加载任务都会传递到最顶层的BootstrapClassLoader,只有当父加载器无法完成加载任务时,才会尝试自己来加载。按照由父级到子集的顺序,类加载器主要包含以下几个: B 阅读全文
posted @ 2022-03-21 15:47 甜菜波波 阅读(401) 评论(0) 推荐(0) 编辑
摘要:前言 可能有人会觉得,只要我写代码的时候不去开启其他线程,那么就不会有多线程的问题了。然而事实并非如此,如果仅仅是一些简单的测试代码,确实代码都会顺序执行而不是并发执行,但是Java应用最广泛的web项目中,绝大部分(如果不是所有的话)web容器都是多线程的——以tomcat为例, 每一个进来的请求 阅读全文
posted @ 2022-03-21 15:11 甜菜波波 阅读(3165) 评论(0) 推荐(0) 编辑
摘要:Java程序员面试过程中少不了专业上的考试,那么面试过程中面试官会问些什么问题呢?接下来黑马君带你一起来进入面试环节! Java开发实用的面试题及参考答案 1、进程,线程,协程之间的区别是什么? 简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行 阅读全文
posted @ 2022-03-21 14:52 甜菜波波 阅读(351) 评论(0) 推荐(0) 编辑
摘要:总结: master挂了以后不能写入,可以读取。 slave挂了以后可以写入, 挂了的节点不能读取 redis哨兵都干了什么 redis哨兵是一个运行的特殊的redis进程,他主要有三个使命: 监控 选主 通知 监控的是什么 哨兵主要是监听主库和从库是否存活,怎么进行监控? 哨兵会定期的给从库发送P 阅读全文
posted @ 2022-03-21 14:13 甜菜波波 阅读(201) 评论(0) 推荐(0) 编辑
摘要:线程池的优势 线程池做的工作主要是控制运行的线程数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,超出的线程排队等候,等待其他线程执行完毕,再从队列中取出任务来执行 线程池的特点 线程复用、控制最大并发数、管理线程 降低资源消耗。重复利用已创建的线程,降低创建 阅读全文
posted @ 2022-03-21 13:57 甜菜波波 阅读(77) 评论(0) 推荐(0) 编辑
摘要:概述 Condition接口位于java.util.concurrent.locks包下,实现类有 AbstractQueuedLongSynchronizer.ConditionObject和 AbstractQueuedSynchronizer.ConditionObject。Condition 阅读全文
posted @ 2022-03-18 17:48 甜菜波波 阅读(77) 评论(0) 推荐(0) 编辑
摘要:static void test3() throws InterruptedException{ Lock lock=new ReentrantLock(); Condition conditionLock1=lock.newCondition(); Condition conditionLock2 阅读全文
posted @ 2022-03-18 17:46 甜菜波波 阅读(54) 评论(0) 推荐(0) 编辑
摘要:Queue workQueue = corePoolSize <= 0 ? new SynchronousQueue() : new LinkedBlockingQueue(1024);ThreadFactory threadFactory = Executors.defaultThreadFact 阅读全文
posted @ 2022-03-18 15:39 甜菜波波 阅读(23) 评论(0) 推荐(0) 编辑
摘要:一致性哈希算法——虚拟节点 一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久 阅读全文
posted @ 2022-03-09 16:59 甜菜波波 阅读(364) 评论(0) 推荐(0) 编辑
摘要:转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了 阅读全文
posted @ 2022-03-09 16:41 甜菜波波 阅读(53) 评论(0) 推荐(0) 编辑
摘要:bin的技术小屋:聊聊Netty那些事儿之从内核角度看IO模型9 赞同 · 2 评论文章 在非阻塞IO这一小节的开头,我们提到网络IO模型的演变都是围绕着 如何用尽可能少的线程去处理更多的连接这个核心需求开始展开的。 本小节我们来谈谈IO多路复用模型,那么什么是多路?,什么又是复用呢? 我们还是以这 阅读全文
posted @ 2022-03-09 10:26 甜菜波波 阅读(146) 评论(0) 推荐(0) 编辑
摘要:问题本身貌似有问题。简单比较两种工具的优劣意义不大。你没法说锤子和剪刀那个更好。我们一般会评价对于某个场景,哪种工具更合适。 io多路复用(这翻译真的很坑爹啊),指的是同一个进(线)程可以处理多个IO数据流。 多线程 +池模型指的是每个线程处理一个IO流。 IO多路复用的优势在于,当处理的消耗对比I 阅读全文
posted @ 2022-03-09 09:45 甜菜波波 阅读(489) 评论(0) 推荐(0) 编辑
摘要:用法 public interface UserService { public UserModel get2( Integer uuid) ; } @Validated //① 告诉MethodValidationPostProcessor此Bean需要开启方法级别验证支持 @Component 阅读全文
posted @ 2022-03-08 09:33 甜菜波波 阅读(845) 评论(0) 推荐(0) 编辑
摘要:fanout类型的Exchange路由规则非常简单,它会把所有发送到该Exchange的消息路由到所有与它绑定的Queue中。 direct类型的Exchange路由规则也很简单,它会把消息路由到那些binding key与routing key完全匹配的Queue中。 topic 前面讲到dire 阅读全文
posted @ 2022-03-07 16:49 甜菜波波 阅读(58) 评论(0) 推荐(0) 编辑
摘要:wkhtmltopdf --enable-forms https://www.baidu.com baidu.pdf 阅读全文
posted @ 2022-03-02 15:19 甜菜波波 阅读(34) 评论(0) 推荐(0) 编辑
摘要:curl https://xxxxx.txt|sh 脚本内容: echo y | sudo yum install xorg-x11-fonts-Type1 echo y | sudo yum install xorg-x11-fonts-75dpi sudo wget https://xxx.rp 阅读全文
posted @ 2022-03-02 10:51 甜菜波波 阅读(39) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示