自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangjun5159的专栏

wx: juhao5159

  • 博客(485)
  • 资源 (5)
  • 收藏
  • 关注

原创 windows 搭建flutter开发环境

前言我的电脑是windows的,根据flutter实战所说,windows下安装flutter同时也要安装android,所以windows下的flutter开发环境搭建就包含两部分,安装flutter和安装androidstudio。设置flutter环境变量linux如下设置,在windows上是,我的电脑---->属性---->高级系统设置---->环境变量—>系统变量新建export PUB_HOSTED_URL=https://pub.flutter-io.cne

2021-12-09 19:19:44 2737

原创 uniapp pages.json中的condition作用

没有condition之前,启动小程序会跳到默认页,假如developer正在开发层次很深的一个页面,比如首页-----模块1----子模块1-----目标页面,这样得点击好几次才能跳到目标页面,我们就想,如果启动小程序一下跳到目标页面,而不用去修改默认首页(正常拉起小程序的首页),就好了,condition满足需要!所以condition只是开发时有效,打包后是没有作用的。 "condition": { //模式配置,仅开发期间生效 "current": 0, //当前激活的模式(list 的索引

2021-12-06 20:47:57 3372 3

原创 uniapp拉起微信开发者工具后没有反应 白屏

要想uniapp拉起微信开发者工具,需要设置以下两步。第一步,配置微信开发者工具,开启服务端口,设置----安全—服务端口第二步,要成为程序中配置的AppId的开发者,如果拉起微信开发者工具后没有反应,而新建一个hello-uniapp正常,则大概率是,没有成为AppId的开发者所致,如果临时不是目标AppId开发者,则删除AppId。...

2021-12-06 19:48:33 6040 4

原创 linux http嗅探工具 httpry

linux http嗅探工具 httpryhttps://github.com/jbittel/httpry安装后,抓取目标数据包并写入文件httpry -i 网卡名字 -m post -b 输出文件名字linux上ifconfig命令查看网卡名字-m 只抓取post方法,可以制定多个,隔开-b 输出二进制到到文件,已被将来用wireshark分析。比如,要抓取eth0网卡,post方法的http请求,httpry -i eth0 -m post -b httpry.out对于post请求

2021-11-22 19:37:36 1083

原创 intellij idea多个服务在一个窗口中显示

在springcloud时,因为启动多个服务,通常开了个多个标签页,不直观,services窗口就是解决这个的,她将所有服务在一个窗口中显示,直观!

2021-11-21 13:16:48 1745

原创 nginx 配置https

Nginx 配置https步骤本文参考Configuring HTTPS servers,要配置https需要配置以下几项,listen指令添加ssl参数指定证书指定私钥,不会发送到客户端指定ssl协议,自定义可以提高加密等级指定ssl加密套件,自定义可以提高加密等级server { listen 443 ssl; //添加ssl参数 server_name www.example.com; ssl_certificate

2021-11-21 13:15:55 651

原创 nodejs进程后台运行 不中断

先安装forever,forever是个简单的命令行工具,可以确保脚本持续不断的运行。npm install forever -g比如yapi后台运行不中断。forever start /root/my-yapi/vendors/server/app.js停止forever stop /root/my-yapi/vendors/server/app.js...

2021-11-21 13:13:16 1222

原创 SpringMVC 异常处理机制,

##############################################spring异常处理机制,1 实现HandlerExceptionResolver,接口方法返回ModelAndView,一般适合系统中有页面的情况,当然也可以用于前后端分离情况,无非就是view是空,DefaultHandlerExceptionResolver就是默认实现。2 写一个类,添加注解@ControllerAdvice,在类的方法上添加注解@ExceptionHandler,并指明要处理的Exce

2021-09-24 21:45:02 623 1

原创 spring @Configuration @Bean用法

概要@Configuration里边定义@Bean,@Configuration相当于一个xml配置文件,@Bean就是xml中的<bean/>定义bean依赖可以调用方法,比如这里的beanTwo()。你可能会好奇,如果beanTwo()被调用两次会不会创建两个beanTwo实例,因为spring bean的默认scope是单例;答案是不会创建多个实例的,@Configuration类实现原理是cglib继承了配置类,然后重写方法,从而实现拦截,这也是为什么配置类不能被final修饰。

2021-09-18 18:30:41 960

原创 intellij idea 好用的插件 开发java

Free Mybatis Plugin,可以实现mapper与xml之间的互相跳转。RestfulToolkit-fix可以迅速查找某个url对应的controller,快捷键是ctrl+\Grep Console可以将日志某些级别高亮,并且在这些之间跳转IDE Eval Reset对于2021版本及以后的Intellij idea可以实现无限重置试用,从而实现破**解。...

2021-09-16 19:38:22 308

原创 java synchronized中锁的升级过程

synchronized 偏向锁、轻量级锁、重量级锁、自旋锁对象头对象在jvm的内存布局,对象头中有标记字(mark word),mark word主要有对象hash值、gc年龄、锁标记synchronized中锁的升级过程对象刚创建时,没有锁,第一个线程来时,使用CAS(Compare And Swap)将当前线程id设置到对象头(Mark Word)中,第二次再获取锁时,不需要进行CAS,只比较一下对象头中的线程id是否与当前线程id相同,如果相同则获取锁;如果不相等,则检查持有锁线程的状态,如

2021-09-02 21:23:22 281

原创 java 泛型 PECS规则(Producer Extends Consumer Super)

PECS关于泛型有个PECS(Producer Extends Consumer Super)规则,说的是List<? extends Person> list = new ArrayList();//编译错误,不允许往里添加元素,list.add(new Person());Producer Extends这是因为? extends Person表示Person的某一个子类,可能是Man也可能是Woman、Person,如果是Man往里添加Person肯定是不行的。只能往外取,

2021-09-02 21:05:34 643 2

原创 spring 声明周期钩子方法 扩展点

#####################spring bean生命周期钩子方法执行顺序The @PostConstruct and @PreDestroy annotations. You can combine these mechanisms to control a given bean.The InitializingBean and DisposableBean callback interfacesCustom init() and destroy() methods可以这样理解,肯

2021-08-14 07:49:10 691 1

原创 MD5 信息摘要算法

介绍MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。注意,无论数据数据多少,MD5总是产生128 bit的二进制数据。32位版本每4位转为一个16(2的4次方)进制的字符,所以md5运算后产生32(128/4)个字符,常见的MD5都是32位字符的。16位版本在32个字符版本上,去掉前8个字符、去掉后8个字符,取中间的16个字符,就是16

2021-07-30 17:25:15 1002

原创 RSA加密算法

RSA加密算法RSA是非对称加密算法,非对称加密算法指的是加密和解密使用不同的密钥,除了加解密的作用,还有“签名”的作用。通常来说非对称加密比对称加密要耗时间。加解密用公钥加密,用私钥解密;这样可以确保数据不被破解,因为公钥加密后,只有私钥才能解密,所以可以保证数据不被破解。;签名用私钥生成签名,用公钥验证签名;这样可以确定发送者的是不是目标身份。生成密钥对无论是加解密还是签名都需要使用密钥对。public static KeyPair genKeyPair() throws NoSuc

2021-07-09 21:12:30 2916 1

原创 AES对称加密算法 java.security.InvalidKeyException: Illegal key size or default parameters

AES加密算法AES(Advanced Encryption Standard)是一种对称加密算法(也叫共享密钥),对称加密算法的意思是加密和解密都是用同一个密钥(密钥和秘钥是同义词),它用来代替DES(Data Encryption Standard,56位密钥)。AES有三个关键点:密钥、填充、模式。。密钥密钥分为128位(16字节)、192位(24字节)、256位(32字节),位数越多,解密和加密的运算量越大,相应的越安全,可以折中使用192位兼顾效率和安全。填充填充,在加密时

2021-07-08 21:09:25 5399

原创 redis sentinel喷出大量垃圾信息sentinel-address-switch

现象redis的sentinel日志文件中,一直重复输出日志2633:X 02 Apr 08:39:03.126 * +sentinel-address-switch master mymaster53 172.17.30.54 6000 ip 172.17.30.94 port 26378 for mkj7yhvd47i9n4f1251juht56789bfnbg6y8cd432633:X 02 Apr 08:39:04.281 * +sentinel-address-switch master m

2021-06-24 18:58:35 1460 3

原创 nginx index、try_files

nginx index、try_files指令。indexindex,就是首页的意思,简单来说匹配了路径,如果不输入子路径,那么就返回首页。假如域名是www.example.com,下边这个配置,请求www.example.com,没有子路径,就会返回首页;location /{ index index.html;}再比如配置myfolder路径的首页,那么请求www.example.com/myfolder,没有子路径,也会返回首页;location /myfolder{ index

2021-06-18 19:03:46 1389

原创 freemarker 表达式为空报错 遍历list 判空

以下例子参考freemarker官方文档判断属性为空#{myobj.myProp!} 如果myProp为空,则不报错;返回默认值#{myobj.myProp!"默认值"} 含有上边的功能,同时如果myProp为空,则返回“默认值”对象和属性都判空#{(myobj.myProp)!"默认值"} 如果myobj为空或者myProp为空,都不报错,并返回“默认值”...

2021-06-18 19:02:50 1988

原创 nginx net::ERR_CONTENT_LENGTH_MISMATCH

错误提示看错误是内容长度与实际接收的长度不匹配,就是http response header中的content-length与实际接收的内容大小不一致导致。排查过程百度了很多,大多数是因为nginx的临时文件夹没有权限导致;通过wireshark抓包,看到是服务器端断开连接;最后想到最近虚拟服务器故障过,重启后,可能临时文件夹没有写入权限导致,最终确认是这个情况。但有必要了解一下nginx buffer机制nginx bufferproxy_buffers和proxy_temp_file如果启

2021-06-18 19:01:18 1538

原创 java 生成pdf技术选项; 字体 type1、ttf、ottf、cid、woff

#打印技术选型,java生成pdf最终选择了,itext7+pdfhtml+freemarker,freemarker是个模板引擎用来填充数据;pdfhtml,是itext官方套件,用来将html转为pdfitext是itext套件的核心、基础组件,底层是它来生成pdf;技术选型中,发现pdfhtml支持html5、css3,而flyingsaucer与pdfhtml作用相同,但只支持css2,并且pdfhtml是官方的,所以最终选了这几个架构分页用css来实现page-break-afte

2021-06-07 20:11:24 6291

原创 vue attribute中使用字符串模板 template string

vue文件中,绑定属性使用字符串模板,这样写:name="`name-client-${count}`"参考Combining string & variable in element attribute in Vue component template

2021-06-07 19:23:49 559

原创 jwt介绍

jwt=json web token由三部分组成header、payload、sign,这三部分用点号分隔header.payload.sign,一般登陆后,保存到客户端,访问受限资源时,放在请求头Authorization中,服务器端判断Authorization来区分是否登录。header表示加密算法;{“alg”: “HS256”,“typ”: “JWT”}之后,将header做base64处理;payload就是内容,claim,有三种类型,一种是registered、public、

2021-06-06 11:18:31 458

原创 spring 发送http请求 RestTemplate、WebClient

###########################HttpMessageConverterSpring-web模块包含HttpMessageConverter约定,约定指的是通过InputStream和OutputStream,HttpMessageConverter如何读取http请求body和写入http响应。spring web框架提供了主要MIME type的HttpMessageConverter实现,在客户端RestTemplate来注册这些实现,在服务器端RequestMethodH

2021-06-06 10:41:01 9640

原创 java 线程池 spring线程池 多线程知识总结

线程池,有界/无界队列、拒绝策略、核心线程数、最大线程数、空闲时间threadpoolexecutorExecutors是Executor的工具类,可以用来创建3种线程池。常见的3种线程池newFixedThreadPool 核心线程数和最大线程数相同,线程不会过期 LinkedBlockingQueue,容器是Inteter.max_value, 无界队列newCachedThreadPool 核心线程数是0,最大线程数不限,60s过期,SynchronousQueue 队列容量为0,所以如果提

2021-06-06 10:40:02 1487 1

原创 intellij idea 面包屑导航 默认展示

前言intellij idea 面包屑导航太好用了,查看当前行代码是哪个方法一目了然;以下是显示面包屑导航的方法某文件单独设置View---->Active Editor---->Show Breadcrumbs全局设置File---->Settings—>Editor---->General—>Breadcrumbs—>勾选目标文件类型,选择顶部还是底部展示...

2021-05-15 11:08:53 2989

原创 java graphics 往图片上写字 获取字符串的宽度 以像素为单位

在往图片上写字时,图片宽度是已知的,如果想实现文字居中的效果,需要知道文字的宽度并且是像素为单位的,其实,很简单InputStream imagein = new BufferedInputStream(new FileInputStream("/xxxx.png"));BufferedImage bi = ImageIO.read(imagein);Graphics g = orginImg.getGraphics();final Font font= new Font("新宋体", Font.B

2021-04-18 15:51:22 957

原创 事务隔离属性、spring传播属性、 @Transactional注解

##############事务隔离属性+传播属性################mysql默认的隔离级别是read_commitedread_uncommitread_commitedrepeatable_readSERIALIZABLE脏读:事务1修改了行1,但是还没commit,事务2读取了未commit的行1,事务1回滚了行1;不可重复读:事务1读了行1,事务2修改了行1并commit,事务1再次读了行1,发现行1变了。幻读:事务1读了满足where条件的所有行,事务2插入了满足wh

2021-03-30 21:41:54 235

原创 vue 保持组件状态 不起作用 失效

keep-alive的一般用法使用<keep-alive></keep-alive>,用来开关直接子元素,如果有多个条件性的子元素, 要求同时只有一个子元素被渲染。keep-alive跟transition一样,不会生成DOM,include属性,它用来指定要缓存组件的name,可以是字符串、数组、正则表达式,字符串可以用逗号隔开表示多个组件name;include会先匹配组件的name,如果name没有指定,那么匹配父组件中注册的名字(components中的名字)。实践中有个场

2021-03-30 21:29:42 1281 1

原创 java8 LocalDateTime/LocalDate/LocalTime、java.util.Date/java.sql.Date区别及日期转换方法

###################java8 日期转换方法java.time.LocalDateTime,是一个日期+时间,不带时区,它是个不可更改对象,精确到纳秒。它的日期你可以认为是生日,它的时间可以认为是挂钟的时间,比较LocalDateTime时用equals,不要用==或者hashCode。java.time.LocalDate,是不可变的对象,表达的是日期,它不存储或表达时间和时区,通常以年-月-日的形式展示,比如生日。java.time.LocalTime,是不可变的对象,表达的是

2021-03-30 21:17:08 3003

原创 nginx 负载均衡方法

#####################nginx 负载均衡一共3种方法round-robin 轮询least-connected 最少连接ip-hash 根据ip的hash值来least-conn与weight联合使用,那么active conns/weight最小值的server处理下一个请求。负载均衡,有3种,轮询、最少连接、ip取值,轮询就是请求依次分配给server,周而复始;最少连接,就是请求分配给最少活跃链接的server;ip-hash是根据客户端ip来确定server,Re

2021-03-14 20:36:13 846

原创 mysql cpu100% 排查

查看mysql线程首先查看mysql线程,有两种方法,第一使用show full processlist,第二查看information_schema.processlist,这两种查询结果是一样的,查表更方便一些,因为可以过滤字段。show full processlist;查看所有mysql线程(connection),如果不加full,则查看前100条。或者select * from information_schema.processlist where info!='';找到info

2021-03-14 19:33:34 4225

原创 进入gremlin console、退出gremlin console

tinkerpop是图数据库的计算框架,图库里有数据,顶点、变及两者的属性,tinkerpop可以对这些数据进行遍历,这就是图库计算框架。gremlin是图数据库的查询语言,类似sql之于关系型数据库,gremlin console是gremlin的一个解释执行环境。进入gremlin console进入执行 /${gremlin_home}/janusgraph-0.4.0-hadoop2/bin目录下,执行./gremlin.sh执行: :remote connect tinkerpop

2021-03-06 08:49:56 884

原创 linux 添加用户 修改文件所属用户及用户组

添加/查看用户添加用户useradd user1如果没有指定组,则同时创建组,组与用户同名,添加用户后,会在/home下创建用户主目录。useradd -g group1 user1 创建用户时,同时指定组,组必须已存在查看用户用户都存在/etc/passwd,所以查看此文件就可以查看所有用户。cat /etc/passwd切换用户su username修改密码添加用户后,一般会修改密码,passwd user1修改文件所属用户及组递归修改文件夹对应的

2021-03-06 08:43:42 2545 1

原创 intellij idea debug/调试 查看方法返回值

intellij idea查看方法返回值debugger---->Settings----->show method return value在对应行设置断点,当执行到断点行时,step out(shift+f8)就可以看到variables面板里有对应的方法返回值了。

2021-03-06 08:39:18 9766

原创 nginx 查找配置文件

由于年代久远或者安装差异,会忘记nginx配置文件路径,要想找到nginx配置文件位置,首先要找到nginx命令路径,然后通过nginx命令找到配置文件路径。找到nginx命令路径使用which nginx,来找到nginx命令路径[root@VM-0-5-centos sbin]# which nginx/usr/sbin/nginx找到配置文件路径有两种找到配置文件路径方式,第一种查看nginx配置参数,第二种校验配置文件语法正确性,输出配置文件路径。查看配置参数方式[root@VM

2021-03-05 19:58:17 9488

原创 nginx 常用命令 启动、关闭、重新加载配置文件、检测配置文件正确性、指定配置文件

启动/usr/sbin/nginx优雅关闭优雅指的是处理完请求后再关闭/usr/sbin/nginx -s quit 立刻关闭/usr/sbin/nginx -s stop重新加载配置文件/usr/sbin/nginx -s reload检测配置文件正确性/usr/sbin/nginx -t-t后边不带参数指定配置文件/usr/sbin/nginx -c /path/nginx.conf参考nginx command line...

2021-02-26 19:27:24 5817

原创 js 跨浏览器tab页通信

跨tab页通信今天遇到一个问题,订单列表页面,新开了一个新增订单的tab页,新增完后,订单列表要即时显示,这就是跨tab(tab、window、frame、iframe)通信,注意tab页、window窗口、frame、iframe都属于跨tab范畴,同源下,可使用BroadCastChannel解决此问题。(https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API)// If it is the first to co

2021-02-23 19:21:06 2832 2

原创 docker镜像 容器 启动、停止、删除容器、查看端口映射

先谈一下对镜像、容器的理解,镜像是个程序,是静止的,启动后就变为容器,容器可以关闭,关闭后还是容器,不再是镜像;docker在下载镜像时,是从某个源下载的,默认源是docker官方的,在外国,下载慢可以使用国内的源。镜像是有路径的,如果镜像有路径,那么拉取时要指定路径。指定镜像源编辑/etc/docker/daemon.json,{ "registry-mirrors": ["https://reg-mirror.qiniu.com"]}然后,重启docker,重启docker后,正在运行

2021-02-19 20:42:38 11769

原创 720P、1080P、1440P、2160P、HD、FHD、UHD、2K屏、4K屏是什么意思

1080P=1920*1080P,1080P中的p是progressive scanning,是逐行扫描的意思,1080p代表屏幕纵向有1080个像素点,横向是1920个像素点,因为1920约等于2000,也就是2K,如果显示器支持1080P,就称为2K屏,1920*1080约等于200万,所以1080p最多200万个像素。同理,4K指的是3840*2160P,因为3840约等于4000,也就是4K,所以4K与2160P是一回事,可以看到3840*2160P横向、纵向格式1920*1080P的2倍,共4

2021-02-19 20:12:20 110642 7

charles破解包

charles的破解包,copy到charles安装目录的lib文件夹下,覆盖掉就好了。

2016-12-15

itextasianCmaps.jar

itextasianCmaps.jar,经常与itextasian.jar一起使用

2016-04-06

itextasian-1.5.2.jar

ireport导出中文pdf,字体jar

2016-04-06

精通css第2版源代码

精通css第2版,源代码 详细介绍了盒模型、浮动、定位,圆角、背景图片、表单、超链接、导航等应用样式

2016-02-29

精通css(第2版)源代码

精通css第二版,源代码. 精通css一书,详细介绍了盒模型、浮动、定位,圆角、背影、表单、超链接应用样式

2016-02-29

空空如也

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

TA关注的人

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