java
ggaofeng
这个作者很懒,什么都没留下…
展开
-
Rsa -- java
package gaofeng.netconf;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.NoSuchAlgorithmException;import java.security.PrivateKey;import java.security.PublicKey;import java.sec.原创 2021-10-04 09:36:24 · 233 阅读 · 0 评论 -
H2 数据库 和 DbUnit单元测试框架
/**H2嵌入式数据库有三种使用方式:内存模式、嵌入模式、服务器模式连接方式:#数据库URL 内存模式#spring.datasource.url=jdbc:h2:mem:hello#数据库URL嵌入模式#spring.datasource.url=jdbc:h2:file:D:/D/test#数据库URL服务模式spring.datasource.url=jdbc:h2:tcp://localhost//F:/H2/hello */ public static void m.原创 2021-08-15 16:08:59 · 424 阅读 · 0 评论 -
分布式事务
分布式事务,是需要尽量避免的。各种解决方案要么太复杂了,要么效率太低了。复杂代表着系统稳定性容易出问题(容易出bug,而且还很难解决)。但如果实在无法避免,还是需要了解一下业界的常见方案:这个视频,讲解了 1、两阶段提交(即2PC)方案(包括XA方案,和seata的AT方案) 2、TCC方案 3、可靠消息最终一致性方案 4、最大努力通知方案https://www.bilibili.com/video/BV1Q4411y7ip?p=22&spm_id_from=pageDriver...原创 2021-02-17 20:09:18 · 165 阅读 · 0 评论 -
《软件设计的哲学》中文翻译
《软件设计的哲学》中文翻译https://gdut_yy.gitee.io/doc-aposd/转载 2020-11-21 08:59:17 · 893 阅读 · 2 评论 -
Dubbo 一篇文章就够了:从入门到实战
Dubbo 一篇文章就够了:从入门到实战https://segmentfault.com/a/1190000019896723转载 2020-10-09 19:14:01 · 126 阅读 · 0 评论 -
Elasticsearch
E:\迅雷下载\elasticsearch-7.9.0-windows-x86_64\elasticsearch-7.9.0\bin1、这个es,需要jdk11,启动脚本是elasticsearch.bat手工指定jdk11 ,在elasticsearch.bat最前面增加两行代码 set JAVA_HOME=E:\jdk-11set PATH=%JAVA_HOME%/bin:%PATH%2、增加记录 curl -s -X PUT -H"Content-Type:application/js原创 2020-10-08 08:38:07 · 118 阅读 · 0 评论 -
Spring Cloud 学习记录
今天是2020-10-6日打开spring cloud的主页(https://spring.io/projects/spring-cloud#overview)首先就看到最新的版本号 : Spring Cloud Hoxton.SR8大版本号:Hoxton (从ABCDEFGH往上排),这就是H版小版本号:SNAPSHOT:快照版本;随时可能修改 M:MileStone,M1表示第1个里程碑版本,一般同时标注PRE,表示预览版版。 SR:Service Release,SR1表示第1个正..原创 2020-10-06 22:26:51 · 177 阅读 · 0 评论 -
jdepend
https://github.com/clarkware/jdepend\使用方法java -cp D:\jdepend-master\dist\jdepend-2.9.1\lib\jdepend-2.9.1.jar jdepend.swingui.JDepend D:\demo\target\classes结果分两个区域:上面区域显示每个包依赖那些其它包下面区域显示每个包被那些包调用(依赖)...原创 2020-06-18 10:03:24 · 237 阅读 · 0 评论 -
使用java和CORBA实现分布应用编程
https://blog.csdn.net/ancientmoondjay/article/details/71374355?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-35&depth_1-utm_source=distribute.pc_relevant.none-task-blog-Blo...转载 2020-05-07 18:17:07 · 223 阅读 · 0 评论 -
数据库中间件-jdbi
https://www.jianshu.com/p/1ee34c858cb9原创 2020-04-04 23:59:49 · 469 阅读 · 0 评论 -
关于HttpClient重试策略的研究
https://www.cnblogs.com/kingszelda/p/8886403.html转载 2018-04-22 20:19:04 · 997 阅读 · 0 评论 -
为什么要释放数据库连接
1、数据库连接,在oracle的实现中,是一条tcp链路。这个链路上,可以承载多个statement。比如最大200个连接,每连接最大300个statement,那么这个数据库可以支持6w个会话。2、连接池自身在什么时候释放连接连接池存在的价值就是不释放连接,下一个人申请连接时,复用已经建立的连接。(应用代码虽然调用了释放函数,但连接池不会真的释放)连接池在任务空闲时,可以释放一部分连接。在连接池...原创 2018-04-10 11:58:34 · 3502 阅读 · 0 评论 -
jetty
package gaofeng.jetty;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSer...原创 2018-10-14 15:03:48 · 190 阅读 · 0 评论 -
RMI
java RMI 线程池的配置System.setProperty("sun.rmi.transport.tcp.maxConnectionThreads", "10");属性配置-Dsun.rmi.transport.tcp.maxConnectionThreads=10-Dsun.rmi.transport.tcp.threadKeepAliveTime=0 默认1分钟Syst...原创 2018-12-12 21:22:09 · 481 阅读 · 0 评论 -
使用JDB调试Java程序
https://www.cnblogs.com/rocedu/p/6371262.htmlhttps://www.ibm.com/developerworks/cn/java/joy-jdb/index.html -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=yjdb -attach 127....转载 2019-01-05 06:59:00 · 632 阅读 · 0 评论 -
dropwizard
坑1:一定要加这一行(applicationContextPath: /),否则能收到消息,但是打印 404,找不到坑2:一定要加这一行(@Path("/")),否则能收到消息,但是打印 404,找不到pom.xml <properties> <project.build.sourceEncoding>UTF-8</project.build.s...原创 2019-01-17 21:27:15 · 473 阅读 · 0 评论 -
POI 读写大量数据到excel
poi操作excel,有多套方法,应用场景和性能对比见https://www.cnblogs.com/tootwo2/p/6683143.html <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <...原创 2019-01-26 08:01:37 · 561 阅读 · 0 评论 -
jdk9 module机制
jdk9之后,引入了module机制。解决的问题是:A模块只想对外提供api这个包下的所有java接口文件,其它包比如apiImpl这个包,禁止其它模块引用。实验:ubuntu18.10,jdk11.0.2,eclipse201812(4.10.0)创建工程A和工程B,创建时,eclipse提示是否要创建module-info.java文件。这个文件一般放在src下,参见jdk自身...原创 2019-01-27 12:05:34 · 1556 阅读 · 2 评论 -
微服务 docker 网络 k8s
微服务+docker,使得软件部署环境很简单。如果软件规模比较小,一台服务器够用的话,那就太简单了,直接起docker。如果软件规模稍微大一点,需要几台或几十台服务器。搞个openstack+k8s,太复杂了。只要把网络打通就ok了。比如http://dockone.io/article/2717 二层VLAN网络和Overlay网络...原创 2019-06-02 00:48:44 · 363 阅读 · 1 评论 -
使用ant编译,没有结果
1、应该在cmd中使用ant编译,就会有类找不到的错误提示。eclipse中执行build.xml没有提示信息(需要右键在run中进行配置,否则eclipse不显示ant的执行结果,往往只现实前2行打印,后面的信息都看不到,也没有成功或失败的提示信息)。2、引用jar包时,要写成 destdir="class" classpath="lib/servlet原创 2016-10-03 22:34:30 · 757 阅读 · 0 评论 -
spring aop
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.7.RELEASE</version> </dependency&原创 2018-02-25 18:18:51 · 186 阅读 · 0 评论 -
动态代理
1、静态代码虽然简单易懂,但是要写一堆xxxProxy类。2、使用动态代理,只要写一个Proxy类就可以了。package gaofeng;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;/* * JDK的动态代码,要求被代...原创 2018-02-24 22:47:32 · 211 阅读 · 0 评论 -
最简方法搭建个人开发持续集成(CI)环境
1、在eclipse中使用maven工程开发java代码2、在pom.xml增加jacoco-maven-plugin插件的声明。执行mvn test,在target\site\jacoco目录下即可看到测试覆盖率报告。 org.jacoco jacoco-maven-plugin 0原创 2017-03-18 10:57:39 · 1602 阅读 · 0 评论 -
mydb
package mydb;import java.nio.file.Path;import java.nio.file.Paths;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.Iterator;import java.util.LinkedL原创 2016-12-02 07:49:08 · 860 阅读 · 0 评论 -
linux(ubuntu14.04)安装jdk8
1、下载jdk的安装包,在/usr/lib/jvm/目录下解压gaofeng@gaofeng-VirtualBox:~$ ls -l /usr/lib/jvm/总用量 179168drwxr-xr-x 8 uucp 143 4096 6月 22 17:50 jdk1.8.0_101-rw-r--r-- 1 gaofeng gaofeng 1834567原创 2016-11-08 10:59:18 · 437 阅读 · 0 评论 -
tomcat打印日志
不管在servlet还是filter中,都可以调用config对象获取打印日志接口。 public void init(FilterConfig config) throws ServletException { this.config = config; } public void doFilter(ServletRequest request, ServletR原创 2016-10-03 22:35:45 · 983 阅读 · 0 评论 -
active mq 测试
public class MQtest { public static void main(String[] args) { Connection connection = null; //实例化连接工厂 ConnectionFactory connectionFactory = new ActiveMQConne原创 2016-10-14 18:16:42 · 459 阅读 · 0 评论 -
java DI -- HK2
java已经支持依赖注入(DI) 主要是@Inject标记import javax.inject.Inject;import org.jvnet.hk2.annotations.Service;@Servicepublic class S2 { @Inject S1 s1; @Inject IS s0; public S2() { Syst原创 2016-10-14 18:06:58 · 3018 阅读 · 0 评论 -
log4j,self4j
1、第三方jar包中如果把日志打印到log4j或self4j中,则我们必须配置log4j,否则看不到他们的打印日志(如果有些错误他们之间打印了,并没有拋异常)。2、需要引入log4j-1.2.xx.jar、slf4j-api-x.x.x.jar、以及slf4j-log4j12-x.x.x.jar,后两个包由slf4j提供,包名中的x表示版本号。3、log4j启动时,默认会寻找source原创 2016-10-21 22:35:35 · 1496 阅读 · 0 评论 -
Maven 学习总结
1、maven工程就是一个src目录和一个pom.xml文件,很简洁。 直接用eclipse导入-maven工程 即可。不需要自己手工去找依赖的jar包,自己加src目录,test目录。2、一个工程最终就是一个jar包,多个jar包,就是一个父工程下多个子工程。父工程只有一个pom文件,然后就是子工程的目录。pom中的package方式为pom,底下的模块就是子工程。eclipse...原创 2016-07-17 18:29:32 · 621 阅读 · 0 评论 -
java a=b是线程安全的吗
1、先给结论,虽然只是一行代码,但java字节码中,是多个语句,所以不是线程安全的。可以用原子变量或锁来保证线程安全。(参考这篇文章 从volatile说到i++的线程安全问题 http://www.cnblogs.com/zemliu/p/3298685.html)2、如何查看字节码package p1;class Hello{ int a; public void s原创 2017-04-09 08:26:51 · 982 阅读 · 0 评论 -
mockito简单教程
http://blog.csdn.net/sdyy321/article/details/38757135/这篇文章讲的很全面import static org.mockito.Mockito.*;public class AppTest { @Test public void test003(){ LinkedList mocked转载 2017-03-14 18:08:04 · 320 阅读 · 0 评论 -
spring入门教程
package gaofeng.springboot1;import java.util.Date;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframew...原创 2017-04-15 14:36:53 · 797 阅读 · 0 评论 -
springboot swagger 健康检查
/** * swagger访问页面 http://127.0.0.1:8989/abc/swagger-ui.html * swagger的Json信息 http://127.0.0.1:8989/abc/v2/api-docs * * 通过curl可以访问这两个restful接口 * curl -v -F "file=@/d/tools/Merge.exe" cgsl/api/my...原创 2018-03-01 12:44:46 · 868 阅读 · 0 评论 -
springboot读取配置信息、环境变量
2、读取配置文件2.1 读取核心配置文件核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单。核心配置文件application.properties内容如下:server.port=9090test.msg=Hello World Springboot! 2.1.1使用@Va...原创 2018-02-26 17:47:01 · 47807 阅读 · 1 评论 -
注解 annotation
注解基础注解的本质,就是一个配置文件。package ttt;import java.lang.annotation.*;@Retention(value=RetentionPolicy.RUNTIME)@Target(value ={ElementType.METHOD})public @interface MyMapping { String path(); ...原创 2018-02-26 17:45:18 · 216 阅读 · 0 评论 -
jersey
org.glassfish.jersey.containers jersey-container-simple-http 2.25 import java.net.URI;import javax.ws.rs.core.UriBuilder;import org.glassfish.jersey.server.ResourceConfig;import org.glas原创 2016-12-27 23:10:29 · 357 阅读 · 0 评论 -
java nio
0、nio编程比较复杂坑多。可以看一些文章,如nio通道-几个注意点,SocketChannel续2-各种注意点。1、go支持协程,所以在代码层面,就是顺序编程,就像阻塞IO一样。但其底层实现也是非阻塞的,和java一样,都是epoll2、用一个聊天室的例子学习一下niopackage gaofeng.nio;import java.io.IOException;import j原创 2017-10-18 23:06:10 · 224 阅读 · 0 评论 -
Retrofit http客户端
除了gson转换器,还有其他的支持json的转换器,或者自定义转换器(不一定要转换对象,而是有时需要对http头中的错误码进行处理) com.squareup.retrofit2 retrofit 2.3.0 com.squareup.retrofit2 converter-gson 2.3.0 package gaofeng.htt原创 2017-05-28 14:34:43 · 580 阅读 · 0 评论 -
从前世看今生,从JavaEE到微服务
从前世看今生,从JavaEE到微服务http://blog.csdn.net/jiaoly/article/details/52993256面向微服务的企业云计算架构转型http://blog.csdn.net/jiaoly/article/details/52276875转载 2017-04-16 19:54:17 · 516 阅读 · 0 评论