- 博客(46)
- 收藏
- 关注

原创 mac装机帮助文档
Homebrew安装:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 如果命令行失效,请到官网查看(据说命令会更新): https://brew.shdocker安装:https://www.runoob.com...
2020-09-29 19:24:35
302
原创 个人工具类方法总结
import org.apache.commons.lang3.StringUtils;import java.text.DecimalFormat;import java.text.SimpleDateFormat;import java.util.*;/** * @author zxd * @date 2021/2/1 */@Componentpublic class CommonUtils { /** * list根据时间排序 * * @..
2021-03-19 13:58:06
321
原创 Eureka多级缓存机制
一、缓存存储格式 ConcurrentHashMap<String, Map<String, Lease<InstanceInfo>>>二、eureka 服务端缓存 readOnlyCacheHashMap ConcurrentHashMap,定时从readWriteCacheMap同步数据,默认30s readWriteCacheHahMap Guava缓存,数据主要同步于存储层。当获取缓存时判断缓存中是否没有数据,如果不存在此数据.
2020-10-09 16:21:41
1713
2
原创 LDAP学习踩坑
Spring Data LDAP官网链接,收录很全什么是LDAP?(一)在介绍什么是LDAP之前,我们先来复习一个东西:“什么是目录服务?” 1. 目录服务是一个特殊的数据库,用来保存描述性的、基于属性的详细信息,支持过滤功能。 2. 是动态的,灵活的,易扩展的。 如:人员组织管理,电话簿,地址簿。(二)了解完目录服务后,我们再来看看LDAP的介绍: LDAP(Light Directory Access Portocol),它是基于X.5...
2020-09-30 17:20:28
1209
原创 OOM排查
XX:+HeapDumpOnOutOfMemoryError 开启堆日志自动打印,出错时可直接查看 一般都是堆内存不够 ps -ef | grep java 找出java的进程id jmap 找到占用内存最大的对象 栈溢出 递归条件控制不好
2020-09-04 01:57:57
152
原创 接口幂等性
多次请求处理结果与一次处理结果一致读取和删除 天然幂等新增和更新 不幂等典型案例 前端重复提交 服务超时重试 MQ重复消费 实现方式: token机制 可能存在幂等的接口,在执行业务前先去获取token,服务器把token保存在redis 调用业务接口请求时,携带token 服务器验证token是否在请求中,若存在,代表是第一次请求,删除token,执行业务 否则,返回重复标记给client
2020-09-03 14:02:45
152
原创 CyclicBarrier和CountDownLatch的区别
CountDownLatch:一个线程等待其他线程全部到达后,再继续CyclicBarrier:多个线程互相等待全部线程到达后,再继续CountDownLatch和CyclicBarrier的功能看起来很相似,不易区分,有一种谜之的神秘。本文将通过通俗的例子并结合代码讲解两者的使用方法和区别。CountDownLatch和CyclicBarrier都是java.util.conc...
2019-12-24 23:59:09
269
原创 kafka避免消息丢失和重复消费
消息丢失避免消息丢失包含两个方面: 还没有被消费过的消息不会被清除。 在没有外部系统清除kafka消息的情况下,协调设置broker的最大保留大小 log.retention.bytes 和 最大保留时间log.retention.hours 等,来配合消费者端的读取消息。可以通过读取和监控消费者消费的offsets,来保证消息不会被意外清除。消费者端消费消息没有遗漏。当消费者...
2019-12-18 02:58:14
2555
原创 redis如何支持高并发10wQPS
1.单线程,不存在进程切换影响cpu速度2.纯内存操作3.使用多路I/O复用模型,非阻塞IO 多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有 I/O 事件时,就从阻塞态中唤醒,于是程序就会轮询一遍所有的流(epoll 是只轮询那些真正发出了事件的流),并且只依次顺序的...
2019-12-16 00:05:35
1981
原创 redis实现分布式锁
1.使用setnx命令2.lua脚本,实现验证和删除key过程的原子性 a.线程A加了key,挂掉,未设置过期时间,key永久存在,线程B去查询 b.线程A 和 线程B 同时加锁,A要del,B还未完成,A就会删除B的锁。可以把加锁线程名当作值,删除时判断是不是当前线程3.添加key过期时间4.并发情况下,可能线程A的锁过期时间要到了,线程A还没有执行完 添...
2019-12-16 00:01:28
117
原创 秒杀系统简单设计
1.web服务器限制请求,防止请求数过大2.对数据库的写请求进行队列化,保证串行操作,防止超卖,也能减少服务器压力3.update库存操作,sql语句加库存数>0,防止超卖4.数据库对库存操作时使用乐观锁,防止多并发情况下出现超卖5.预先将库存数量存入reids缓存,在读请求时能减少数据库压力...
2019-12-15 23:53:29
154
原创 SQL书写注意事项
为避免慢SQL,写SQL时多注意以下几项:1.Like 条件不以 % 开头2.where 条件中 等式左侧不要出现函数(+ - * /)3.where条件尽量使用索引列4.用具体的字段代替 SELECT *5.尽可能使用join来代替子查询6.优化 limit 分页 例如:‘limit 1000,20’。 这时MySQL需要查询1020条记录然后...
2019-12-02 23:06:26
991
原创 Idea使用问题小结
1.无法更新静态资源文件部署项目时使用war exploded 部署,不要用war部署。将更新按钮选择为update resource2。debug模式只进入一次,再次进入无效更改debug配置不要使用alt + f9进行debug,使用f9...
2019-08-19 16:50:11
186
原创 Idea 实用插件
Translatio(翻译插件) Lombok(简化getter、setter) Free Mybatis plugin (mapper与接口代码间快速跳转) Grep Console(控制台打印高亮) Markdown Navigator(第三方markdown插件,自带的经常卡死)...
2019-07-31 14:43:14
168
原创 Mac鼠标移动速度慢解决方案
终端更改全局鼠标配置Mac默认是3,配置成7~10就可以。配置完后重启生效~~defaults read -g com.apple.mouse.scalingdefaults write -g com.apple.mouse.scaling 7
2019-06-26 19:13:42
13963
1
原创 2个队列实现栈---Java版本
package cn.rbl.ssm.interview;import java.util.LinkedList;import java.util.Queue;public class MyStack { public Queue<Integer> queue1 = new LinkedList<>(); public Queue<Inte...
2019-03-20 00:33:53
159
原创 多线程通信
题目描述: 3个线程循环打印ABCABCABCABCpublic class ThreadCommunication { public static class ThreadPrinter implements Runnable { private String name; private Object prev; priv...
2019-01-20 21:46:27
186
原创 基本排序算法总结
import java.util.Arrays;import java.util.Random;public class Sort { public static void main(String[] args) { Sort sort = new Sort(); int[] waitSort = {1,2,63,7,2,2,2,235,77,22...
2019-01-20 21:39:55
129
转载 Mac 下显示maven .m2文件
参考:https://blog.youkuaiyun.com/u012557538/article/details/78402970/
2018-11-29 21:34:22
10763
转载 MAC下最好用的抓包工具--charles简单操作教程
转载自 https://blog.youkuaiyun.com/weixin_42428631/article/details/80642436在文末做个补充,IOS10以上需要打开证书信任开关才能抓包一、Charles介绍给大家推荐一款在mac上我觉得很好用的抓包工具,再过去的半年中给我很大帮助,在工作学习中使用很方便。那么什情况下我们会需要使用抓包工具呢,比如我想查看一个接口请求的参数、返回值...
2018-11-28 00:03:34
1638
1
转载 Java优质面试题汇总
https://blog.youkuaiyun.com/linzhiqiang0316/article/details/80473906#t93 史上最全Java面试题(带全部答案)https://blog.youkuaiyun.com/liyintaoliuyun/article/details/51458780 java 面试总结(都是亲身面试的经历)https://blog.youkuaiyun.com/xiaol...
2018-11-13 23:19:44
152
转载 Mac常用触摸板手势
一般通用手势 显示桌面(也就是让所有窗口都靠边儿站):四指分开; 激活 Missing Control(任务控制/多桌面):四指上推; 切换桌面或者全屏应用程序:四指左右滑动; 显示当前应用程序的所有窗口:四指下滑; 在 Missing Control 中放大单个应用的所有窗口:指针指向应用,然后双指上滑; 打开 Launchpad:四指捏合; 拖动窗口:...
2018-11-07 20:28:40
3723
转载 常用编辑器多行编辑快捷键
EditPlus 1)菜单:编辑 -> 选择 -> 列选择 2)先按下 Alt + C ,释放,然后移动鼠标或键盘上下左右键进行选择 注意:在自动换行的模式下是不行的,改为不自动换行就行了。Notepad++1)按住 Alt 键,然后用鼠标进行选择 2)按住 Alt + Shift 键,然后用箭头(键盘的上下左右箭头)进行选择UltraEdit1)菜单栏有...
2018-11-07 20:02:04
2323
原创 Tomcat配置的参数意义
-Xms: JVM初始化内存大小,默认是物理内存的1/64-Xmx:JVM最大内存大小,默认是物理内存的1/4。(一般都把这2个值设置成一样的,防止每次GC后改变堆的大小)。-XX:permSize: 非堆内存大小(方法区),默认是物理内存的1/64-XX:MaxPermSize: 非堆内存最大大小(方法区),默认是物理内存的1/4-XX:NewSize: 新生代大小-XX:...
2018-10-15 15:55:04
243
转载 HashMap1.7与1.8对比理解
这篇讲的很好http://www.codeceo.com/article/java-hashmap-concurrenthashmap.html
2018-10-15 15:25:20
2035
1
原创 递归实现字符串的反转
public class StringFanZhuan { public static String reverse1(String originStr) { if(originStr == null || originStr.length() <= 1) return originStr; return reverse1(o...
2018-06-07 10:58:19
1412
原创 java POI导出EXCEL
话不多说,直接上代码,不详细,具体细节样式用到了再研究import org.apache.poi.hssf.usermodel.*;import org.apache.poi.ss.usermodel.HorizontalAlignment;import java.io.FileOutputStream;import java.text.SimpleDateFormat;import ja...
2018-06-07 00:37:22
157
原创 Idea配置Tomcat虚拟路径
项目中经常使用文件上传,Chrome出于安全考虑不能直接读取硬盘上的资源,此时就需要我们用到虚拟路径我使用的idea+Tomcat1.直接更改Tomcat的server.xml a.Tomcat中的配置: 添加红色字体 <Host name="localhost" appBase="webapps" unpackWARs="true" autoD...
2018-06-07 00:33:04
2187
2
原创 SpringMVC前后台Json转换
问题:SpringMVC框架下使用ajax与后台进行json数据交互失败maven中的jar包依赖: <!--json转换--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</a...
2018-06-05 16:11:46
259
原创 简单死锁的实现
public class DeadLock { public static Object flag1 = new Object(); public static Object flag2 = new Object(); public static void main(String[] args){ Thread t1 = new Thread(new ...
2018-06-03 22:04:27
247
原创 Java8个基本类型及其字节长度
int: 4 -2^31----2^31-1 short: 2 -2^15----2^15-1long: 8 -2^63----2^63-1float: 4 -2^31----2^31-1double: 8 -2^63----2^63-1byte: 1 -2^7----2^7-1char: 2 -2^15----2^15...
2018-05-23 22:13:28
8871
原创 对无序数组进行排序
/** * asc 升序 * desc 降序 */public class BubbleSort { public static void main(String[] args) { int[] a = new int[]{3, 5, 1, 43, 44, 2, 21, 44, 55, 77, 88, 33}; BubbleSort(a,"asc...
2018-05-19 23:47:03
3413
原创 二分查找
查找元素在有序数组中的坐标import java.util.Scanner;public class BinarySearch { public static void main(String[] args) { int[] a = {4, 5, 13, 15, 17, 23, 25, 54, 55, 56, 62, 64, 65, 76, 78, 97, 98...
2018-05-19 23:27:06
99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人