- 博客(21)
- 资源 (34)
- 收藏
- 关注
原创 java SSLEngine访问https网站github.com,客户端client-side-demo
java sslengine 访问github.com https协议关于sslengine,理解为就是你的程序与网站直接的一个门,sslengine负责握手协议handshake与加解密包数据(发送给服务器的数据调用wrap() 解密返回的数据unwrap())sslengine的两种状态 sslengine.getHandshakeStatus()是握手状态,根据不同状态有不同操作...
2018-05-30 20:02:20 11504
原创 javaparse 从java源码src生成ast方便遍历找类名方法名等等
JavaParser 从java源码src分析出抽象语法树ast,方便做项目下所有类的分析,生成的语法书可以方便的查找包名,类名,导入名,方法名等等下面是一个入门demo,以了解如何方便使用//只有parser<dependency> <groupId>com.github.javaparser</groupId> <art
2018-05-28 11:25:39 34859 1
原创 java 只用 SSLSocket和SSLSocketFactory访问https网站github,baidu,jdk自带keystore,默认密码changeit
source: Java Secure Socket Extension (JSSE) Reference Guide SSLSocketClientWithClientAuth.java使用jdk自带的keystore,里面包含官方的证书,主流网站都有,自己的可以使用keytool导入C:\Program Files\Java\jdk1.8.0_144/jre/lib/secu...
2018-05-24 19:32:37 24882
原创 java keytool操作
列出jdk自带的keystore里的证书keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts -v
2018-05-24 18:00:39 12260
原创 java nio 实现最精简代理服务器(代理tomcat服务器),没有select多线程,只有ServerSocketChannel与socketChannel
简介:使用java的nio技术,实现简单的代理服务器,访问本地1234端口,把请求转发的tomcat8080端口,实现代理使用过程: 1. 开启tomcat,确保访问127.0.0.1:8080端口有显示 2. 启动App.java的main运行 3. 然后访问127.0.0.1:1234端口有三个java文件 App.java 启动main进程 Server.java 服务...
2018-05-21 10:45:05 10851
原创 java 读取证书文件(cer crt)的公钥
import sun.misc.BASE64Encoder;import java.io.FileInputStream;import java.security.PublicKey;import java.security.cert.CertificateFactory;import java.security.cert.X509Certificate;public class C...
2018-05-20 19:11:15 37726 4
原创 导出https网站证书
谷歌浏览器打开https网站后,点击url地址栏前面的安全,点击证书,显示证书对话框,点击上面标签页,详细信息,下面的复制到文件,打开导出证书对话框,选择base64编码,后保存 *.cer 证书文件保存的证书文件,可以双击安装,或者开发时研究...
2018-05-20 19:09:48 43837
原创 java SSLEngine初探,demo代码帮助理解
Class SSLEnginejava keystore 工具SSLEngine的示例 内,所引用的原代码样例地址【已不可用】简介:SSLEngine简单理解为,就是数据发送前wrap打包加密,数据接收时unwrap解包解密,这样一个https通过SSLEngine的过程。如下:你的程序《———》SSLEngine《———》网络过程:先建立http连接,然后是使用ssl的ha...
2018-05-19 21:19:31 17276 1
原创 java 纯nio使用 serverSocketChannel与socketChannel 最简单的例子,没有使用select,多线程等等
serverSocketChannel 是服务器端,监听端口,等待链接运行main后,浏览器访问:http://localhost:8080/import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.ServerSocketChannel;import java.nio....
2018-05-19 19:12:31 12679
原创 java 快速找出最接近的2指数的数
找出与所给数最接近的2的指数的数,比如,3最接近的是4,5最接近的是8,9最接近的是16public int get num(int a){int n = a -1;n |= n >>> 1;n |= n >>> 2;n |= n >>> 4;n |= n >>> 8;n |= n >>&g
2018-05-18 17:00:45 13111 1
原创 java 常见常用方法
guava的Objects.hashCode(调用的是jdk Arrays.hashCode) 快速计算几个值得hashcode适合重新hashcodeguava的Multimap,类型redis的hset,一个key,对应一个map,可以直接删除一个key下map中的一个值,不用遍历,或者直接删除map,取出的map是Collection,可以直接转为list或setInteger...
2018-05-18 16:01:57 10226
原创 java 反射遍历类方法,方法参数类型,形参名称
Class object = Model.class;//Method[] methods = object.getMethods();//所有方法,包括继承Object的Method[] methods = object.getDeclaredMethods();//自己的public方法for(Method one:methods){ System.out.print(one.g...
2018-05-16 17:10:33 15808
原创 java 快速找到实体类model修改前后所有修改的属性
业务修改时,经常要比较实体类修改前后的变化记录日志利用反射快速找到修改前后实体类的变化【需要设置好getter方法】Class object = Model.classMethod[] methods = object.getMethods();for(Method one:methods){ String methodName = one.getName(); if(met...
2018-05-16 16:29:28 13101
原创 【不断补充中】sql总结
id字段重复值select id from table group by id having count(id) >1不连续id,oracle, 先构造顺序的,然后MINUS本身select rownum from all_objects where rownum < = (select max(id) from table) minus select id from table...
2018-05-16 09:54:45 10159
原创 缓存一致性协议MESI,cpu cache
不论是cpu中cache缓存还是项目开发中的缓存,缓存的好处是提高运行速度,带来的问题是如何保证缓存一致性。cpu的内置缓存保证与主内存一致性的方法有2种:1.总线锁(锁住总线,同步cpu缓存与内存中的脏数据,效率低) 2.缓存一致性协议(MESI)mesi 四种独占状态缩写,表示cpu中一个缓存行的四个状态Modified (被修改,等待写回内存,已不可用【脏数据】)...
2018-05-15 10:08:08 10773
原创 【总结,持续更新】java常见的线程不安全,你以为的线程安全
多线程问题,主要是多线程执行时的顺序是随机的,无法保证同一代码的执行顺序,任意两步代码(非原子)操作都存在安全问题以下常见的线程安全问题:1. 锁在StringString str="a";synchronized(str){str = "b"; //str变为一个新对象,锁失效,字符的赋值是新new一个String然后赋值的}2. i++,使用java.util...
2018-05-14 13:50:24 11376 1
转载 java volatile 轻量级同步,不保证线程安全
src : 死磕Java并发:深入分析volatile的实现原理简言之:一个变量如果用volatile修饰了,则Java可以确保所有线程看到这个变量的值是一致的,如果某个线程对volatile修饰的共享变量进行更新,那么其他线程可以立马看到这个更新,这就是所谓的线程可见性。 所以volatile是通过cpu指令,标记这个变量为share,从而使该变量被修改后,cpu的cache缓存行置...
2018-05-14 13:29:51 10591
原创 geo point 判断点是否在多边形内
public class Test { public static void main(String[] args) { GeoPoint[] geoPoints = new GeoPoint[4]; geoPoints[0] = new GeoPoint(); geoPoints[0].setLat((double) 0); ...
2018-05-13 20:47:51 11792
转载 vs2015 使用cpuid查看cpu信息
ms官网 __cpuid, __cpuidex 以下代码编译运行后,查看cpu信息#include <stdio.h>#include <string.h>#include <intrin.h>const char* szFeatures[] ={ "x87 FPU On Chip", "Virtual-8086 Mode Enhancement", "Debuggin
2018-05-06 00:02:29 12005
FastStoneCapture_8.5_PortableSoft.7z 最好用的截图工具 不解释了
2017-10-06
锐捷3.3 最新的不一定好
2017-10-06
.NET Framework 3.5 SP1完整离线安装包下载地址与制作
2012-04-09
ubuntu亲身经验全集
2012-03-30
纯dos系统7.1
2012-03-30
windows10 64位可用的spark开发需要的程序
2019-12-10
sourcetree-3.1.3 跳过bitbucket注册
2019-09-06
hwmonitor_1.40.zip
2019-08-24
simsun.ttc-simhei.ttf-simfang.ttf-simkai.ttf-windows常用中文字体
2019-08-10
handshaker_win7_win8_dmg.zip
2019-07-11
redis-desktop-manager-0.98-ssh_tunel.rar
2019-07-11
vs2015工程编译nasm2.14源码--可调式非命令行
2018-12-15
vs2015编译最新openssl-1.1.1 非命令行nmake 可轻松编译出动态链接库与静态链接库 包含完整项目配置文件 里面有详细项目说明 适合学习修改
2018-09-29
vs-dll-lib动态静态链接库使用项目-包含vs项目配置文件直接编译使用即可学会
2018-09-28
vs2015直接编译libevent2.1.8-非命令行-可断点调试.
2018-09-27
vim7.4 vs2015完整工程 可调试学习
2017-10-23
nginx1.9.9 vs2015 完整项目
2017-10-22
windows api index windows全部api
2017-10-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人