- 博客(107)
- 资源 (7)
- 收藏
- 关注
原创 Nginx之配置https/wss
即将一个 http/ws 项目,地址在 http/ws://localhost:8000, 现在我使用 nginx 将它转发到 http/wss://bkhech.top 上。申请好之后(使用 bkhech.top 域名申请的),将证书放在服务器的 /usr/local/nginx/conf/ssl 目录。编辑 /usr/local/nginx/conf/vhosts/default.conf,在原有的配置中加入圈红的配置代码。重启nginx,访问服务进行验证即可。
2022-10-24 16:48:58
1711
1
原创 Nginx之配置虚拟主机vhost
当一台服务器上,需要使用nginx部署多套项目时,将所有项目配置在同一config 下,容易出现混乱,维护起来也比较困难。将 Windows10 当做域名服务,在 C:\Windows\System32\drivers\etc\hosts中配置。resource.top api.top websocket.top 都解析到 192.168.71.189。部署多项目时,因为每个项目启动都会有不一样的端口号,客户端请求的时候需要带端口号相应端口号,麻烦且没有必要。主配置文件 nginx.conf。
2022-10-21 15:12:56
5251
1
原创 一万小时天才理论
一万小时天才理论的三大要点:精深、激情、伯乐谁也不能随随便便成功,它来自彻底的自我管理和毅力。——哈佛图书馆训言犯错让你更聪明。——德国寓言
2021-08-26 10:56:17
215
转载 SpringBoot+Redis布隆过滤器防恶意流量击穿缓存的正确姿势
什么是恶意流量穿透假设我们的Redis里存有一组用户的注册email,以email作为Key存在,同时它对应着DB里的User表的部分字段。一般来说,一个合理的请求过来我们会先在Redis里判断这个用户是否是会员,因为从缓存里读数据返回快。如果这个会员在缓存中不存在那么我们会去DB中查询一下。现在试想,有千万个不同IP的请求(不要以为没有,我们就在2018年和2019年碰到了,因为攻击的成本很低)带着Redis里根本不存在的key来访问你的网站,这时我们来设想一下:请求到达Web服务器;请求派.
2021-06-29 18:10:35
464
1
原创 MySQL 使用存储实现快速创建多个分表
设计数据库时,有时候需要分表,当分表数量比较大,单个创建比较浪费时间,于是写了一个存储过程模板,可以快速创建多张分表,比如:创建存储器create procedure app_game_interface_event_statistics_uid_mod_16(in val_s int, in val_e int)begindeclare i int;set i=val_s;while i<val_e+1 doset @sql_create_table = concat('CRE
2021-06-22 15:50:05
1045
原创 持续做正确的事,相信时间的复利
F = P(1 + i)^nF:最终取得的成就P:投入精力的事情i: 效果n: 时间最近偶然看到复利一词,这让我深深的陷入反思,什么才是“时间的复利”?什么才是“重要却不紧急”的事情?为什么要天天去做“重要却不紧急”的事情,然后静待时间的玫瑰盛情的开放。也许真的没有这么多为什么!所有的假想敌都是我们自己,我们自己就是最大的敌人。确定好这件正确的事情,去做就对啦!谁会知道十年后的树木长成什么样子,你需要做的事情就是播下种子,定期施肥、松土和浇水,这就够啦!...
2021-06-09 16:45:51
291
转载 charles ignore
官网:http://www.charlesproxy.com 有Linux、windows、mac等版本。至于注册等等,自行解决!1、最值得注意的:Ignore一旦Ignore就再也抓不到了,会郁闷死你,如果不小心点击了Ignore,你就麻烦了!但是最下面的状态栏会显示当前的请求,你可以看到具体是什么,如果没有在上面显示出来那么可能就被你Ignore了!如果不小心点击了,请:点击Proxy,点击Recording settings然后点击Exclude,移除掉即可!...
2021-05-31 11:58:07
301
转载 Java io流 从网络读取图片并保存至本地
package getUrlPic; import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL; public class GetUrlPic { public static void main
2021-01-12 22:52:36
1134
转载 tcp心跳机制
一、心跳包很多应用层协议都有HeartBeat机制,通常是客户端每隔一小段时间向服务器发送一个数据包,通知服务器自己仍然在线,并传输一些可能必要的数据。使用心跳包的典型协议是IM,比如QQ/MSN/飞信等协议。心跳包之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活着。事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般都是很小的包,或者只包含包头的一个空包。在TCP的机制里面,本身是存在有心跳包的机制的,也就是TCP的选项:SO_KEEPAL
2021-01-09 15:56:48
811
原创 JVM问题排查手册+案例分析
jstack当前jvm 1 线程数统计:jstack 1 |grep ‘tid’| wc -l (linux 64位系统中jvm线程默认栈大小为1MB)查看进程 1 中线程状态统计jstack 1 | grep java.lang.Thread.State | awk ‘{print $2}’ | sort | uniq -c或者jstack 1 > stack.txt (方便分析)cat stack.txt | grep ‘tid’| wc -lcat stack.txt | gr
2021-01-06 16:29:11
2105
原创 为什么HashMap内部初始容量是2的k次幂
HashMap计算数据在数组的索引为公式 (n - 1) & hash, 内部会自动将你的初始容量变为最接近(大于等于)他的一个2的k次幂的数,为什么呢?原因有二:& 运算的作用是,保证hash码总是能落在数组允许的下标方位内;如果n等于2的k次幂,那么n-1的二进制为 1111***111形式,与hash码进行&运算后能保证hash本身的值,从而保证原hash函数散列效果不变,是数据均匀分布,减少hash冲突...
2020-12-15 14:46:48
95
转载 简述一下 Java 中创建一个对象的过程
类的生命周期解析:回答这个问题首先就要清楚类的生命周期下图展示的是类的生命周期流向: Java中对象的创建就是在堆上分配内存空间的过程,此处说的对象创建仅限于new关键字创建的普通Java对象,不包括数组对象的创建。对象创建过程1.检测类是否被加载: 当虚拟机执行到new时,会先去常量池中查找这个类的符号引用。如果能找到符号引用,说明此类已经被加载到方法区(方法区存储虚拟机已经加载的类的信息),可以继续执行;如果找不到符号引用,就会使用类加载器执行类的加载过程,类加载完成后继续执行。2
2020-12-15 10:30:04
755
转载 聊聊并发-Java中的Copy-On-Write容器
聊聊并发-Java中的Copy-On-Write容器Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。CopyOnWrite容器非常有用,可以在非常多的并发场景
2020-11-26 14:04:31
117
转载 算法复杂度中的O(logN)底数是多少
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/jdbc/article/details/42173751问题:最近有好几学生问我,无论是计算机算法概论、还是数据结构书中,关于算法的时间复杂度很多都用包含O(logN)这样的描述,但是却没有明确说logN的底数究竟是多少。解答:算法中log级别的时间复杂度都是由于使用了分治思想,这个底数直接由分治的复杂度决定。如果采用二分法,那么就会以
2020-11-18 14:19:16
617
转载 备份Intellij IDEA配置的两种方式
转载:https://my.oschina.net/vright/blog/1558342这个技巧老早就知道,而且,本就是官方支持的。真正实现,全新安装,开箱即用。这里以Windows系统为例。方式一:通过将配置导出为Jar包的形式,实现备份,但是,不推荐,并不能备份全部配置。备份:File->Export Settings![img](https://img-blog.csdnimg.cn/20201029140643953.png?x-oss-process=image/water.
2020-10-29 14:08:50
3178
原创 对使用MySQL业务场景与其知识点对应关系理解
对MySQL掌握的月深入,你能做的事情就越多。完成业务功能,需要懂基本的SQL语句;做性能优化,要懂索引,懂执行计划,懂引擎;做分库分表,要懂主从,懂读写分离;做安全,要懂权限,懂备份,懂日志;做云数据库,要懂源码,懂瓶颈。如果提到SQL优化,张口就是索引,分库分表,那这就有点突兀了。你首先要知道哪些地方需要做优化?其实,优化就是找出运行最慢的地方,然后解决,找出运行最慢的SQL,然后优化。如何找出慢SQL?可以通过慢查询日志查看。...
2020-10-27 14:20:27
108
原创 Mysql优化之 Using filesort
使用explain分析sql的执行计划时发现Extra列显示 Using filesort,虽然使用了索引,但是性能效果不好,仍然比较耗时。分析其原因是因为 order by 语句造成的。可采用一下几种手段尝试优化:在where某个条件和order by field字段建立复合索引;表连接,如下示例:select b.* from (select id from test order by create_time DESC limit 0,10) a left join test b on a.id
2020-09-18 20:33:39
351
转载 fortify代码扫描问题结果分析
最近项目的代码使用fortify工具扫描了一下,发现了项目中存在的一些问题,在以后代码编写的过程中要注意,避免出现类似的错误。以下为本次代码分析工具FORTIFY对代码的分析结果。这些问题虽然古老、简单然而经典,也是需要引起重视。代码问题主要集中在如下类别:存在安全隐患、存在资源泄漏隐患、序列化问题、字符串比较、异常处理问题,以及其它一些BAD PRACTICE和粗
2020-09-18 20:20:42
1468
原创 架构且长, 思想至上,案图不辍,未来可期
接下来主要去学习Spring Cloud Alibaba这个技术生态,整体的技术思想和解决方案的本质和Spring Cloud Netfilx相同。从个人的理解出发,去了解不同的设计思想和解决方案。加油吧!...
2020-08-06 13:58:24
129
原创 Eclipse离线安装Activiti插件不显示图表解决方法
Activiti的Eclipse插件离线安装后,不显示图表简单解决方法方法一:参考:http://blog.csdn.net/u011220734/article/details/47073739方法二:http://blog.csdn.net/qq_33547950/article/details/54926435若下载相关安装包可前往下载:http://download.c
2017-09-20 18:37:09
1359
1
原创 fortify中Path Manipulation issues in Java 问题解决
public class CleanPath { public static String cleanString(String aString) { if (aString == null) return null; String cleanString = ""; for (int i = 0; i < aString.leng
2017-09-18 18:58:53
3841
5
原创 jvm性能相关(jvisualvm远程连接配置)
性能分析神器VisualVM:http://www.cnblogs.com/wade-xu/p/4369094.html使用Memory Analyzer tool(MAT)分析内存泄漏(二):http://www.blogjava.net/rosen/archive/2010/06/13/323522.htmlJVM调优总结:http://www.open-open.com/do
2017-09-18 18:49:51
852
1
原创 webservice简单实例
代码:http://download.csdn.net/download/u011897392/9981017参考链接:http://blog.csdn.net/lovingshu/article/details/8004840spring整合webservice CXF :https://my.oschina.net/aptx4869/blog/293044h
2017-09-15 18:47:18
251
转载 ACTIVITI在LINUX下查看流程图片中文字体出现乱码的解决方案
转自:http://blog.csdn.net/qq_14891839/article/details/50524670ACTIVITI在LINUX下查看流程图片中文字体出现乱码的解决方案问题产生:我配置在linux上的tomcat服务器生成图片时中文,出现很多小方框,不能正常显示。问题解决过程:通过网络上搜索资料,发现是因为linux上jre对中文支持的问
2017-09-06 11:56:09
819
转载 jsp自定义标签(tld)
转自:http://blog.sina.com.cn/s/blog_4b5bc01101010knj.html一、首先写一个类继承TagSupportMyTag.java public class MyTag extends TagSupport{ public String username=""; public int doEndTag()
2017-09-04 11:01:11
314
转载 Oracle用户权限表的管理方法
参考:http://www.chinaacc.com/new/403_406_/2009_10_22_su64245324922019002700.shtml
2017-06-06 11:06:59
422
原创 oralce查看某张表占用空间大小
1、查询某用户下表使用大小的前10名select * from (select a.segment_name,(byets/1024*1024) sizez ,a.segment_type from dba_segments a where owner='risk' order by bytes desc ) where rownum 2、当使用drop table tablena
2017-05-23 18:22:32
2723
转载 URI和URL的区别
参考:http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html
2017-05-18 11:17:06
149
原创 解决oracle11g无法导出空表问题
找出空表:from user_tables where num_rows=0;alter table tablename allocate extent;
2017-03-27 19:27:32
436
原创 js eval() 安全
eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。JavaScript中的eval()不安全,可能会被利用做XSS攻击(跨站脚本攻击(Cross Site Scripting)),eval也存在一个安全问题,因为它可以执行传给它的任何字符串,所以永远不要传入字符串或者来历不明和不受信任源的参数。eva
2017-02-27 17:04:57
4093
3
转载 eclipse总是弹出 Errors running builder 'JavaScript Validator'解决方法
每次保存文件,重新编译时,总会弹出Errors occurred during the build.Errors running builder 'JavaScript Validator' on project 'HelpDesk'.Java.lang.NullPointerException 解决方法:鼠标右键,点击工程Properties->Build
2017-02-27 14:42:28
783
原创 关于java异常处理
1、使用原则:所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。2、
2017-02-24 17:56:43
323
转载 fortify代码扫描问题结果分析
最近项目的代码使用fortify工具扫描了一下,发现了项目中存在的一些问题,在以后代码编写的过程中要注意,避免出现类似的错误。以下为本次代码分析工具FORTIFY对代码的分析结果。这些问题虽然古老、简单然而经典,也是需要引起重视。代码问题主要集中在如下类别:存在安全隐患、存在资源泄漏隐患、序列化问题、字符串比较、异常处理问题,以及其它一些BAD PRACTICE和粗
2017-02-24 14:23:15
13361
转载 webapp的类加载顺序
各个web应用服务器的类加载机制总体上通常遵循 java的层次化加载机制(即当前classloader优先将类加载请求交由parent classloader来进行),当然其具体的的classloader层次和加载机制会存在很大的不同。下面我们只针对跟我们最贴近的webapp的classloader机制。websphere、weblogic、Geronimo默认是web容器的类优先于web
2017-02-24 14:12:01
768
原创 java中URLEncoder、URLDecoder 与js中 en/decodeURI()、en/decodeURIComponent()使用
1、java中URLEncoder、URLDecoder:http://tech.sina.com.cn/s/2008-07-07/1053722241.shtmljs中decodeURI()、decodeURIComponent():http://www.cnblogs.com/Erik_Xu/articles/2305011.htmljava:URLEncoder.en
2017-02-06 18:48:42
3297
转载 js中基本上8中情况的逻辑false情况
//如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)! document.write((new Boolean())+""); document.write((new Boolean(""))+"");
2017-01-03 14:30:51
317
Nginx之配置虚拟主机vhost
2022-10-21
离线安装Activiti designer插件
2017-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人