经验
weixin_39755113
这个作者很懒,什么都没留下…
展开
-
手写tomcat-基于netty
模仿《netty4 核心核心原理》一书中的例子,通过netty 实现简单tomcat功能。通过启动启动类,在浏览器输入对应的地址,实现访问:具体代码如下:tomcat servlet类public abstract class MServletNetty { public void service(MRequestNetty request, MRsponseNetty response)throws Exception{ if("GET".equalsIgnoreCa原创 2021-08-02 21:20:30 · 162 阅读 · 0 评论 -
手写tomcat-基于传统IO
模仿《netty4 核心核心原理》一书中的例子,通过java自带的IO类和serverSocket 实现简单tomcat功能。通过启动启动类,在浏览器输入对应的地址,实现访问:具体代码如下:tomcat servlet类public abstract class MServlet { public void service(MRequest request,MResponse response)throws Exception{ if("GET".equalsIgnor原创 2021-08-02 19:15:06 · 126 阅读 · 0 评论 -
uuid生成器
根据项目实际情况,参考雪花id生成算法写的,定位为嵌入式,可以用做分布式,针对单机多实例的情况做了优化兼容。import java.lang.management.ManagementFactory;import java.net.InetAddress;import java.net.NetworkInterface;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/原创 2021-07-29 15:59:09 · 1038 阅读 · 0 评论 -
notePad++正则去重
1,正则表达式:^(.*?)$\s+?^(?=.*^\1$)原创 2021-06-30 15:45:17 · 602 阅读 · 0 评论 -
notePad++ 正则查询内容
1.利用正则匹配查找:(?<=pin:)([^\n]+)(?=\n) 替换:<<<<<\1>>>>>替换结果:2,去掉无用内容将>>>>>与<<<<<之间的内容去掉了原创 2021-06-30 15:35:36 · 472 阅读 · 0 评论 -
CommandLineRunner接口 实现SpringBoot项目启动完成后执行相关动作
自定义类实现CommandLineRunner 接口@Slf4j@Componentpublic class Test implements CommandLineRunner { @Override public void run(String... var1) throws Exception { log.info("sprnig 启动完成,执行。。。。。。。。。。"); } }}...原创 2021-06-23 18:15:20 · 97 阅读 · 0 评论 -
查看缓存中的设置过期时间key占比的方法
使用redis命令:info Keyspacekeys :所有key的总量expires:设置过期时间的key的总量avg_ttl:平均过期时间原创 2021-06-16 18:40:17 · 241 阅读 · 0 评论 -
代码趣味 待以后求解
偶尔看到一篇文章,没有搞懂这块,为什么是cache 难道native方法里属性是cache?为什么cache有get cache.class?在此记录,待以后求解 Class cache = Integer.class.getDeclaredClasses()[0]; Field c = cache.getDeclaredField("cache"); c.setAccessible(true); Integer[] array = (Intege原创 2021-06-15 22:16:17 · 86 阅读 · 0 评论 -
使用notePad的标记和标签复制功能筛选内容
类似一下文档:筛选出含有name的行1,标记需要的行:注意标记的时候要选中 标记所在行2,选择 搜索 -书签-复制书签行 ,即可以复制出含有标记内容的所有行3,结果:原创 2021-06-02 14:38:50 · 4525 阅读 · 0 评论 -
java ip访问限制过滤器实现
引用自:https://843977358.iteye.com/blog/2318143经过验证之后做了优化:增加添加到map时惰性删除功能,随时清除过期数据。由于项目pv小,没有经过大流量访问实测。自己压测1s500访问量没有问题。请见代码:/** * ip限制过滤器 */public class IPLimitFilter implements Filter { /*...转载 2019-05-21 11:34:16 · 1620 阅读 · 0 评论 -
微信昵称中带emoji表情存储进mysql乱码druid配置解决方法
在druid配置中增加一行配置把数据库字符集设置成utf8mb4 即可 <bean id="dataSource1" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本属性 url、user、password ...转载 2019-05-21 11:28:36 · 929 阅读 · 0 评论 -
冒泡排序优化
public static void main(String[] args) { int[] ins = {2,1,3,4,5,6,7,8,9}; //优化的冒泡排序 时间复杂度最好的时候由O(n^2)变为O(n),最坏的情况一样O(n^2) long l = System.currentTimeMillis(); b...原创 2019-04-25 10:41:22 · 98 阅读 · 0 评论 -
BindingException: Parameter '__frch_item_0' not found. Available parameters are [list],报错
BindingException: Parameter ‘__frch_item_0’ not found. Available parameters are [list],报错时,是因为xml里面各个参数属性和pojo对应的属性不一致造成的。需一一查找对应。...原创 2019-04-08 17:46:00 · 898 阅读 · 0 评论