- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 一篇一看就懂的Https的实现过程梳理
结合最近做支付遇到的一些问题,以及查阅的一些资料,整理了一下https的安全实现;希望多家多多支持!1.Https的产生背景:我们最开始用的较多的是HTTP协议用于数据传输,但是http数据是明文传输,这对于比如支付、转账等场景是不安全的,很容易被第三方窃取并篡改参数信息,造成无法挽回的损失.2.Https与http的不同Https与http最的不同是把下层的协议由 TCP/IP 换成了 SSL/TLS(TLS可以理解为SSL的前身),而SSL/TLS 是信息安全领域中的权威标准,.
2021-03-10 15:56:08
867
原创 记一次线上系统JVM频繁Gc排查总结
记一次线上T豆系统JVM频繁Gc排查总结问题描述 在一个伸手不见五指的夜晚,突然发现系统CPU占用率飙升,业务jvm cpu最高占用超过300%,而且频率大概在1分钟之内,第一反应系统jvm出现问题了,于是有了下面的分析及解决过程;分析过程及解决 CPU飙升分析过程 命令:top首先执行top命令查询占用较高的jvm进程,确认pid:125277接着需要查询具体是jvm的哪些子进程导致的问题(也就是排查是不是存在代码如死循环的问题)命令: top -Hp pi...
2021-02-19 14:08:14
1277
原创 让你真正知道Tcp的三次握手和四次挥手
在了解TCP之后我们需要先了解TCP Header的相关存储信息,这样我们能更好理解其过程,而不是死记硬背流程(网上一堆流程 问:吃饭了了吗?答:吃了。。。。。。)1.TCP Header结构:Header我们看到其实Header中的Data是分段的,这也需要seq和ack的帮助来保证服务端收到数据的连续性;上图中Sequence number 和 Acknowledgement number是实现握手机制的保障2.名词解释:SYN:代表请求创建连接,所以在三次握手中前两次要S
2020-07-29 18:51:34
361
原创 串起同步/异步、阻塞/非阻塞 IO模型
我们需要明确一点,我们在聊IO的时候,主要是聊用户进程和系统内核进程之间的read\white操作。关键词:1.阻塞:是指用户进程向内核进程提交请求,之后等待内核准备数据,线程一直处于阻塞状态,也就是"傻等";非阻塞:是指用户进程向内核进程提交请求,之后看内核进程是否已经准备好数据,如果准备好则进行读取到用户进程,如果没有准备好,则不进行等待,直接返回结果,但是会不断去尝试发起请求获取结果;2.同步:是一种用户空间与内核空间的IO发起方式。同步IO是指用户空间的线程是主动发起IO请求的一方,
2020-07-29 18:30:12
185
原创 Mysql索引简单介绍
最近在学习mysql索引知识,简单整理!------------------------------1.什么是索引(内容来源网络)索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行。表越大,花费的时间越多。如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要看所有数据。大多数MySQL索...
2020-01-14 20:36:36
181
转载 多线程创建方式比较
阿里手册不推荐Executors的方式直接创建线程池推荐使用ThreadPoolExecutor的方式下面对比两种方式https://www.cnblogs.com/zedosu/p/6665306.html
2019-03-07 14:11:58
128
原创 记一次傻呼呼日期问题
场景描述:数据库存储时间字段用timestamp类型,java接收Date类型,但是当我java获取时间的时候却只是"年-月-日 00:00:00",也就是时分秒都是00,检查发现是由于date包导入的是java.sql.Date原因:java.util.Date和java.sql.Date 区别应该是:java.util.Date 类型写到数据库后存储的值可以到秒,java.sql.D...
2019-03-07 11:41:43
113
转载 虚拟机上Linux对CentOS6 & 7进行用户密码修改图文详解
https://blog.youkuaiyun.com/qq_40714770/article/details/81590998
2018-11-13 17:38:47
401
原创 Idea编译出现源发行版 1.8 需要目标发行版 1.8
问题:java编译时错误信息:Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8Information:2017/1/24 11:27 - Compilation completed with 1 error and 0 warnings in 5s 873msInformation:java: Errors occurred whi...
2018-08-08 09:28:33
3574
原创 根据参数获取枚举中的值
public class EnumGetValueUtil { private static Logger logger = LoggerFactory.getLogger(EnumGetValueUtil.class); /** * * @param clazz * @param getTypeCodeMethodName 传入的typeCode的get方法 * @param type...
2018-06-01 12:00:27
3606
原创 Lambda表达式集合操作
1、sort排序根据某个对象字段属性来排序对象@Testpublic void whenSortingEntitiesByName_thenCorrectlySorted() {List<Human> humans = Lists.newArrayList(new Human("Sarah", 10), new Human("Jack", 12)); humans.sort((Huma...
2018-05-21 16:48:29
2650
转载 安装git配置用户名和邮箱
初次安装git需要配置用户名和邮箱,否则git会提示:please tell me who you are.你需要运行命令来配置你的用户名和邮箱:$ git config --global user.name "superGG1990"$ git config --global user.email "superGG1990@163.com"注意:(引号内请输入你自己设置的名字,和你自己的邮箱)此...
2018-05-08 16:16:22
935
原创 Spring AOP事物总结
一、事物隔离级别MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ)。· 未提交读(READUNCOMMITTED)。另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据(脏读)。· 提交读(READCOMMITTED)。本事务读取到的是最新的数据(其他事务提交后的)。问题是,在同一个事务里,前...
2018-05-08 10:13:27
410
原创 Nexus安装及搭建配置
1、Nexus安装(Linux)1.1下载Nexus,地址:http://www.sonatype.org/nexus/go1.2 解压安装包并启动 tar -zxvf nexus-x.xx.x-unix.tar.gz 进入bin目录,执行 ./nexux start 命令启动启动起来后,通过浏览器访问http://ip:8081就可以访问了。界面如下所示:1.3Repositorie...
2018-05-03 17:10:21
15542
1
转载 Dubbo+zookeeper 最简单的分布式搭建
Dubbo+zookeeper 最简单的分布式搭建大家好,我是Andy,那个永远积极向上且自恋的Andy介绍:本例采用 dubbo+zookeeper 搭建分布式系统,环境 jdk1.8运行介绍:启动 zookeeper - 启动服务提供者 - 启动服务消费者 整个项目的代码已上传到github,https://github.com/brotherAndy/dubbo,欢迎查看。分布式架构: 1....
2018-04-09 17:41:23
219
转载 红黑树说明
数据结构-红黑树解析HelloWorld应用 2018-04-08 17:34:59小明:老师,红黑树是什么树呀?老师:红黑树是数据结构的一种,在JDK的TreeMap,TreeSet中都用应用,JDK8的HashMap中,当链表树超过8的时候链表会转换为红黑树可以提高查询效率。小明:好深奥哦,可以详细讲讲吗?老师:好吧,要学习红黑树,咱们需要先来理解二叉查找树(Binary Search Tre...
2018-04-09 17:38:10
154
转载 DozerBeanMapper对象之间相同属性名赋值
在业务逻辑很复杂的时候,一般都是牵涉到很广,这最直白的表现就是牵连诸多表,然后数据却不是一个对象中的属性或字段,这个时候我们为了方便数据传输一般都会将多个对象中的属性封装到一个VO中,使用Hibernate的人应该知道,查询出来一般都是一个或多个对象,如果依次通过setter方法来赋值的话,效率太低!这时候我们的DozerBeanMapper就体现出来了价值,所以我便将其封装了起来!好啦,直接上代...
2018-03-26 11:29:42
774
原创 List集合中对象利用retainAll()和removeAll()的获取交集和差集
1、首先针对集合中的对象要重写hashcode()和equals()方法;这是因为retainAll()和removeAll()会去利用对象的这两个方法来比较对象是否是同一个对象;2、举个例子public class persone{ private int id; private String sex; private String name; //set get方法 ...
2018-03-21 11:14:12
5650
原创 Docker基础01(待续)
1、构建docker镜像(前提是已经编写好Dockerfile文件)# docker build -t 命名:version /Dockerfile所在目录例子: docker build -t csphere/centos7.1 ./path2、运行docker镜像生成docker容器# docker run -d/-it -p/-P -- name 容器名称 要使用的镜
2017-09-10 12:57:29
217
转载 eclipse Git操作项目
有的eclipse已经自带了Git了,就不用安装了。如果,想重新安装,可以先卸载git,卸载不同eclipse卸载不一样:1.在Eclipse中依次点击菜单"Help"->"About Eclipse"。弹出图1所示对话框,点击"Installation Details"按钮,弹出图2所示对话框。选中要卸载的插件(按住Ctrl可多选),点击"Uninstall..."按钮。
2017-08-30 10:48:25
272
转载 eclipes下载远程仓库项目到本地
1、下载eclipse,安装(需要安装jdk,对jdk设置)2、安装git插件egit:(方法自行查找)插件地址:http://download.eclipse.org/egit/updates3、配置git的账户密码上述的email、name为你的git账户的邮箱和用户名信息。
2017-08-29 16:42:02
371
转载 Eclipse集成git命令窗口
第一步:设置一个新的外部配置工具 在 Eclipse 中,选择 “Run -> External Tools -> External Tools Configurations” 第二步:点击 “New Launch Configuration” 第三步:New Configuration 界面 第四步:提供Git命令行配置的详细信息 N
2017-08-29 16:27:51
2011
原创 LVS+keepalived+mycat负载均衡及自动转发
1、系统环境LVS(Linux Virtual Server)版本:ipvsadm-1.24 LVS,LB),RS)<span times="" new="" roman";="" mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:="" 宋体;mso
2017-02-07 16:42:03
1010
原创 Spring boot简述(待续)
一、Spring boot:Spring boot出现之后,得益于“习惯优于配置”这个理念,再也没有繁琐的配置、难以集成的内容(大多数流行第三方技术都被集成在内)。 那么背后实现的核心原理到底是什么呢? 其实是spring 4.x提供的基于条件配置bean的能力。1、没有配置、没有web.xml、没有构建说明,甚至没有应用服务器;只要你搞定后台代码就ok;2、Sprin
2017-02-07 16:38:42
354
原创 集群模式下Zookeeper的安装
一、工具: zookeeper安装包,可以去官网下载; Centos系统(保证每一台机器有固定的ip) JDK二、安装步骤 1、下载安装包(可用 wget http://mirrors.hust.edu.cn/apache/zookeeper/stable/zookeeper-3.4.8.t
2016-08-23 14:22:47
266
原创 mysql主从分离解决办法
Mysql主从配置无非就是想实现主从分离,操作如下:一、安装前准备: 1、工具:两台服务器安装好mysql和ntp服务 2、检查:首先检查机器是否已经安装了mysql 3、 安装步骤 查找是否有残余mysql文件,如果有则删除: find / -name mysql
2016-08-17 16:52:13
1278
原创 Nginx添加SSL证书并设置自动http转换HTTPS
说明:本人是nginx与tomcat的访问模式一、通过openssl命令生成证书(一摘自网络)1、首先生成一个key openssl genrsa -des3 -out ssl.key 20482、之后会要求你输入这个key对应的密码,不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。 由于
2016-06-12 16:17:21
966
原创 使用JAXB工具类实现标准rss到bean转换
一、 URL url = new URL(urlStr);//urlStr为打开地址 InputStream is = url.openStream();//转为流 RssVo vo = JaxbUtils.unmarshal(RssVo.class, is);二 、实现的JaxbUtils类public static T unmarshal(Class clz, I
2016-06-06 16:03:37
419
原创 jar包更新到远程仓库
在我们项目开发中有些jar包在仓库中可能并不存在,需要我们自己手动去添加,如下是个人自己亲测的解决方式!!!一、上传第三方插件1)、 进入nexus站点 2)、选择3rd party资源库3)、选择Artifact upload,选择GAV 方式录入构建,上传jar文件4)、点击Add Artifact加入jar包5)、点击upload
2016-06-03 15:29:19
4425
原创 linux虚拟机扩容解决办法。。。。
1、vm添加容量查看容量:##fdisk -l (说明:完成步骤一可能在控制台看不到硬盘的变化需要重启:## reboot)这时候我们可以看到磁盘/dev/sdb有1T的容量还没有分配,也就是说我们单纯的进行VM中扩容还不可以,还要具体分配到目录,今天我们以/home目录为例子来分配1T的容量;2、分配容量 2.
2016-05-11 18:55:15
1279
原创 java生成验证码
个人认为效果还可以,并且比较简单生成的验证码的例子!!!!java代码:package com.trs.nfdaily.imgcode;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io
2016-04-07 18:17:57
295
原创 最近做一个新闻类项目,用到调用新浪微博接口,经过研究测试整理步骤如下:先根据此内容获取App Key和Secret Key
一、先在新浪微博应用中注册一个自己的应用为了获取App Key和Secret Key具体做法如下:登录微博账号(如果没有最好自己注册)点击“我的应用”设置开发者信息,点击“编辑开发者信息”开发者信息内容填写 注:这里要注意要填写一个“个人网站地址”,这里去填的内容是微博个人主页中的url地址即可邮箱验证:新浪微博开放平台会将验证链接发送到您所填写的邮箱中,点击邮件
2015-11-03 11:24:15
2105
原创 一个java定时器功能
本人刚刚大学毕业在一家软件公司上班,最近开发一些小的功能模块:1、手机发送激活码功能,当用户一次点击五次时做某事:代码:package com.csair.sso.count;import java.util.Calendar;import java.util.Date;import java.util.Map;import java.util.Timer;impo
2015-08-16 13:59:06
485
原创 易于忽略的小错误!!!
javaweb前端使用js时,经常我们利用js文件访问路径时,即使代码改变但是效果却不变;这是我们需要在url后面加上随机数或时间戳;这是缓存引起的。。。。
2015-04-13 16:33:39
339
JAVA WEB人事管理系统
2015-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人