自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 收藏
  • 关注

原创 扫描class

【代码】扫描class。

2023-07-13 14:09:05 707

转载 linux安装Mysql

转载文章 linux安装Mysql

2022-02-21 15:15:37 222 1

转载 Itext教程

转载文章 Itext教程

2021-07-22 21:50:28 391

转载 EasyExcel使用说明

EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。详情:EasyExcel使用说明

2021-07-21 11:15:22 247

原创 springboot+flowable-ui 步骤

参考文章黑月ゞ / springboot-flowable-modeler1,引用jar2,添加UI静态文件3,文件配置3.1 application.yml3.2 stencilset4,Java配置

2021-06-30 14:38:20 1215

转载 使用Docker安装Jenkins

转载文章:使用Docker安装Jenkins

2021-06-06 13:11:03 82

原创 利用redis生成自定义code(编码)

原理:利用日期表达式生成时间字符串,利用redis的 increment 生成自增数字,保证code唯一。具体格式如下:如:CODE[D:yyyyMMdd][N:4] 生成结果:CODE202105200001[]包裹的字符串是规则,在[]外的是固定字符串[D:日期规则] :表示日期规则,获取日期。如:[D:yyyyMMdd] -> 20210520[DL:日期规则] :表示日期规则,获取日期并转成字母。如:[DL:MMdd] -> 0520 -> 0EB0[N:数值长度]

2021-05-21 14:41:53 921 1

转载 Idea正则表达式

转载文章:Idea利用正则表达式

2021-04-22 09:58:34 1038

原创 IntellJ IDEA 添加自定义模板

参考文章Live Template Variables Expression1,进入IDEA设置,搜索 Live Templates2,添加自定义TemplateGroup3,添加自定义 Template4,实验5,Live Template 变量和语法 $DATE$ :是自定义的变量 $END$ :特殊变量,标识 结束后的光标位置Live Template Variables Expression...

2021-04-21 11:26:03 140

原创 添加web-magic后,启动报错:LoggerFactory is not a Logback LoggerContext but Logback is on the classpath.

添加web-magic的jar后<dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-core</artifactId> <version>0.7.3</version></dependency><dependency> <groupId>us.codecraft</g

2021-04-19 15:57:51 139

转载 linux下安装nginx

转载文章 :linux下安装nginx

2021-04-18 19:49:55 64

转载 SSH上传本地文件到linux服务器

转账文章SSH上传本地文件到linux服务器在linux下一般用scp这个命令来通过ssh传输文件。1、从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地目录)例如scp [email protected]:/var/www/test.txt #把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)2、上传本地文件到服务器scp

2021-04-18 18:26:29 18371 1

转载 SpringBoot打成jar运行后无法读取resources里的文件

转载文章:SpringBoot打成jar运行后无法读取resources里的文件

2021-04-16 14:22:30 349

转载 windows下 查看进程 ,并杀死进程

转载文章:windows下 查看进程 ,并杀死进程

2021-04-16 13:50:19 135

转载 运行jar包的几种方式

转载文章:Linux环境下运行jar包的几种方式(附详细案例

2021-04-16 09:03:50 3526

原创 Java类加载器

参考文章Java面试题|JVM必看15道面试题简介加载类文件到内存。Class loader只管加载,只要符合文件结构就加载,至于能否运行,它不负责,那是有Exectution Engine 负责的类型对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立在 JVM 中的唯一性,每一个类加载器,都有一个独立的类名称空间。类加载器就是根据指定全限定名称将 class 文件加载到 JVM 内存,然后再转化为 class 对象。启动类加载器(Bootstrap ClassLoader):是虚拟

2021-02-19 23:35:36 170 1

转载 Java内存模型

转载文章Java内存模型简述Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。作用Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。这里说的变量包括实例字段、静态字段和构成数组对象的元素,不包括局部变量与方法参数,因为后者是线程私有的,不会共享,也就不存在竞争的问题。主内存与工作内

2021-02-05 17:24:06 63

原创 DNS学习总结

参考文章结构常用linux命令面试问题

2021-02-02 18:27:32 543

原创 TCP 和 UDP 的总结

参考文章35 张图解:被问千百遍的 TCP 三次握手和四次挥手面试题什么是 TCPTCP 是面向连接的、可靠的、有序的、基于字节流的传输层通信协议。面向连接:一定是「一对一」才能连接,不能像 UDP 协议可以一个主机同时向多个主机发送消息,也就是一对多是无法做到的;可靠的:无论的网络链路中出现了怎样的链路变化,TCP 都可以保证一个报文一定能够到达接收端;字节流:消息是「没有边界」的,所以无论我们消息有多大都可以进行传输。并且消息是「有序的」,当「前一个」消息没有收到的时候,即使它先收到了后面

2021-02-02 14:22:31 480 1

原创 nginx配置

参考文章:Nginx 配置详解Nginx常用功能:1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。2、负载均衡

2021-01-31 11:19:44 237

原创 idea 修改源码

1,用压缩文件打开jar,找到要修改的class文件,在通过源码工具查看源码代码。场景:修改 pdfbox-2.0.22.jar 中的FontMapperImpl.class文件1.1 用360压缩打开jar包1.2 把FontMapperImpl.class拖至反编译工具中,查看源码,这里直接用Idea2,新建一个空白的项目 decompilatoin (名字随便起)3,在decompilatoin 中新建包,结构和源码的包一样。新建java和反编译的源码一样在上面的class文件可知

2021-01-26 15:35:15 3082 1

原创 跨域解决方案

参考文章前端常见跨域解决方案(全)什么是跨域跨域是指一个域下的文档或脚本试图去请求另一个域下的资源.常见场景:资源跳转: A链接、重定向、表单提交资源嵌入: 、浏览器很容易受到XSS、CSFR等攻击,为了安全,浏览器引入了 同源策略/SOP(Same origin policy)它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。...

2021-01-25 18:31:27 2098

转载 普通Java类获取spring 容器的bean的5种方法

转载文件: 普通Java类获取spring 容器的bean的5种方法

2021-01-22 14:17:49 135

原创 ForkJoinPool和Executor的区别

参考文章介绍 ForkJoinPool 的适用场景,实现原理Fork/Join 框架框架使用ExecutorExecutor 使用了一个无限队列来保存需要执行的任务,而线程的数量则是通过构造函数传入,如果没有向构造函数中传入希望的线程数量,那么当前计算机可用的CPU数量会被设置为线程数量作为默认值。适用场景:io密集型ForkJoinPoolFork/Join 框架是 Java7 提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框

2021-01-21 16:51:32 707

原创 Future,CompletableFuture的差异

参考文章线程的启动方式线程线程请参考 线程实现方法缺点:无法获取运行结果。Future + CallableJava 1.5开始,提供了Callable和Future,是多线程有返回结果的一种。通过它们可以在线程任务执行完毕之后得到任务执行结果。boolean isDone();// 判断是否已经完成 。get() ; // 阻塞主线程,直到子线程运行结束,返回运行结果 。get(long timeout, TimeUnit unit) ; // 阻塞主线程,直到子线程运行结束,返回

2021-01-20 03:16:51 673 1

转载 JAVA实现大文件多线程下载,提速30倍

转载文章: JAVA实现大文件多线程下载,提速30倍!想学?我教你啊

2021-01-18 09:46:58 448

原创 python线程的实现方式

参考文章python线程池 ThreadPoolExecutor 的用法及实战创建 threading.Threadthreading.Thread 构造方法:threading.Thread(group=None, target=None, name=None,args=(), kwargs=None, *, daemon=Nonegroup:应为None,预留给将来扩展ThreadGroup时使用类实现。target:要调用的函数name:线程名,默认是Thread-1,Thread

2021-01-05 21:36:45 105

原创 python切面/装饰器

参考文章装饰器装饰器用过java都知道,java的AOP非常方便,它可以在调用方法之前和之后做一下操作,如打印日志。python 也有类似的功能,就是 装饰器。我们就以打印日志为例。没有打印日志之前def buy(good_name): print("购买商品 %s " % good_name)def payment(money: int): print("支付金额 %d " % money)if __name__ == "__main__": buy("10斤

2021-01-05 11:26:03 319

原创 python 日志打印

参考文章python loggin 教程简单样例# 保存日志到文件 example.log ,日志级别 DEBUGlogging.basicConfig(filename='example.log', filemode='w', level=logging.DEBUG)logging.debug('This message should go to the log file')logging.info('So should this')logging.warning('And this, t

2021-01-04 18:08:21 728 1

原创 2个给自己微信推送消息的好工具

pushplus Server酱pushplus 基本步骤进入 pushplus 官网微信扫描二维码登录,并自动关注了pushplus微信公众号调用接口发送消息打开手机微信,可以在 pushplus微信公众号 看到 你发的消息Server酱 使用方法类似...

2021-01-04 16:38:23 1936

原创 python解析配置文件ini

参考文章configparser模块简介python之configparser模块详解–小白博客ini 配置文件配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容。# 数据库配置[db]host = 192.168.1.133port = 3306name = 9password = 123123# redis 配置[redis]host = 192.168.1.136port = 3307password

2021-01-04 14:37:32 200

原创 如何开发一个浏览器插件

参考文章如何开发一个浏览器插件?

2021-01-03 15:44:27 9923 1

原创 HTTP面试题

参考文章:一文带你了解HTTPS看懂HTTPSURI、URL和URN的区别http原理Http与Https的区别:HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头HTTP 无法加密,是不安全的,而 HTTPS 对传输的数据进行加密,是安全的HTTP 标准端口是80 ,而 HTTPS 的标准端口是443在OSI 网络模型中,HTTP工作于应用层,而HTTPS 的安全传输机制工作在传输层HTTP无需证书,而HTTPS 需要CA机构wosign的

2020-12-31 11:45:36 2052 4

原创 网络 7 层架构

参考文章一文看懂网络七层协议/OSI七层模型网络7层架构物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。数据链路层:主要将从物理层接收的数据进行 MAC 地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。网络层:主要将从下层接收到的数据进行 IP 地址(例 192.168.0.1)的封

2020-12-27 20:35:52 167

原创 线程终止方式

1、正常运行结束2、使用退出标志退出线程public class ThreadSafe extends Thread { public volatile boolean exit = false; public void run() { while (!exit) { //do something } }}定义了一个退出标志 exit,当 exit 为 true 时,while 循环退出,exit 的默认值为 fals

2020-12-27 18:17:52 637

原创 java锁

了解线程锁之前先了解一下线程状态。线程状态当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5 种状态。尤其是当线程启动以后,它不可能一直"霸占"着 CPU 独自运行,所以 CPU 需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换新建状态(NEW):当程序使用 new 关键字创建了一个线程之后,该线程就处于新建状态,此时

2020-12-27 17:28:02 92

原创 springboot缓存

参考文章Spring Boot中使用缓存springboot缓存1、引用jia包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependency>2、Spring Boot入口类中加入@EnableCaching注解开启缓存功能@Sp

2020-12-25 18:15:10 137

原创 缓存的设计与实现

设计思路没有缓存的时候,获取数据是直接查询数据库的。如果某时间段内并发查询的次数太多,会对数据库造成很大的压力,甚至崩盘。这时我们就会想到使用缓存。查询数据时先查询缓存,如果缓存有则直接还回,如果没有则查询数据库,把结果放入缓存中并返回。下次查询时可以直接从缓存中获取。现有一商品表 goods ,对goods的查询做redis缓存优化。goods的key,value如下。key = 固定值+version(可变)+参数 = "cache:goods:" + +version(可变)+参数value

2020-12-24 17:55:02 374 1

原创 Hystrix学习总结

参考文章Hystrix的服务熔断和服务降级服务熔断与降级(Hystrix)SpringCloud(6)—熔断降级理解、Hystrix实战白话:服务降级与熔断的区别Spring Cloud Hystrix服务容错Hystrix熔断VS降级熔断降级是应对雪崩效应的一种微服务链路保户机制,当扇出链路的某个微服务不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的相应信息。相同点:目标一致 都是从可用性和可靠性出发,为了防止系统崩溃;用户体验类似 最终都让用户体

2020-12-24 17:40:57 138

翻译 netty的简单理解

参考资料: https://www.cnblogs.com/imstudy/p/9908791.html1,Netty 常见使用场景在分布式系统中,各个节点之间需要远程服务调用,高性能的 RPC 框架必不可少,Netty 作为异步高性能的通信框架,往往作为基础通信组件被这些 RPC 框架使用。典型的应用有:阿里分布式服务框架 Dubbo 的 RPC 框架使用 Dubbo 协议进行节点间通信,Dubbo 协议默认使用 Netty 作为基础通信组件,用于实现各进程节点之间的内部通信。2,高性能设计1,b

2020-12-21 21:04:43 127

空空如也

空空如也

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

TA关注的人

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