JAVA
如此简单^_^
聪慧,有毅力
展开
-
kafka-activemq区别
通常消息有几种模式:点对点模式(最常用)、发布订阅、广播activemq与springboot集成非常简单1.需要定义一个jms队列Queue、Topic2.生产者使用jmsTemplate生产消息发送mq3.消费者通过jms listener绑定Queue、Topic获取消息kafka与springboot集成类似于activemqkafka是分布式消息,有分区和副本,分组,偏移量等概念;当然每个分区存储的数据都是不一样的kafka只有Topic发布订阅模式如果要实现点对点模式,需要所有原创 2021-05-13 23:09:26 · 647 阅读 · 0 评论 -
redis-缓存双写不一致
方案:流程:技术栈:参考自:转载 2021-05-13 09:58:06 · 1026 阅读 · 0 评论 -
junit-单元测试
测试unit.class@ContextConfiguration(locations = {"classpath:template-servlet-context.xml"})//用于加载bean@RunWith(SpringJUnit4ClassRunner.class)@WebAppConfiguration需要将servlet升级3.0<dependency> <groupId>javax.servlet</groupId> <artif原创 2021-01-18 16:40:03 · 146 阅读 · 0 评论 -
Java8新特性-函数式接口(lambda基础)
Java 8 函数式接口 - Functional Interface阅读目录 什么是函数式接口(Functional Interface) 函数式接口用途 关于@FunctionalInterface注解 函数式接口里允许定义默认方法 函数式接口里允许定义静态方法 函数式接口里允许定义java.lang.Object里的public方法 JDK中的函数式接口举例 参考资料...原创 2018-08-07 13:30:45 · 5682 阅读 · 0 评论 -
xml-XStream关于添加CDATA,特殊字符问题
最近处理遇到一个需求就是要在xml中添加特殊字符,其实很简单<ccontent><![CDATA[本保单行驶证车主为&<詹姆斯/科比>]]></ccontent> 但是大部分系统用的都是自动转换工具,我们系统使用的是XStream,这个工具有个缺点就是不能修改数据,因此需要在类中添加<![CDATA[********]]标签。...原创 2019-11-18 14:47:00 · 1639 阅读 · 0 评论 -
JPA访问数据库hql-遇到的问题no property query found for type
一开始遇到这个问题,在网上找到了解决方法,但是没在意,一直以为是配置问题这个问题是由于,PO与数据库表映射的实体类,没有标明哪一个是主键ID就差这么一个注解一直报错但是我这个表又比较特殊,是有联合主键的,如上图(USERCODE,ISSUECODE)如果只是设置了一个usercode加注解,不报错了,那么如果查出来多条数据的话,都会被第一条数据覆盖,你会看到返回的数据都是第一条数据的重复...原创 2019-11-07 18:43:56 · 1589 阅读 · 0 评论 -
java-uuid主键碰撞问题
通常生成主键的机制有好多种:例如:redis生成主键优点:全局主键唯一缺点:数据库uuid主键数据库自增主键不能保证全局(全库)唯一java生成主键IDjava生成主键,会在集群下碰撞snowflake雪花算法:可以根据初始化的workerId 工作ID (0~31)datacenterId 数据中心ID (0~31)不同,来保证主键唯一参考:https://w...原创 2019-10-30 13:12:47 · 1855 阅读 · 0 评论 -
java-oauth2.0
oauth2.0协议及五种授权模式原创 2019-07-31 15:04:21 · 467 阅读 · 0 评论 -
java-基本语法难点
看代码的时候遇到过一个问题:private static ThreadLocal<String> num = new ThreadLocal<String>(){ public String initialValue() { return null; } };从来没见过这种写法,原来这是新建并实例化...原创 2019-08-08 15:41:51 · 354 阅读 · 0 评论 -
springmvc-思维导图
其实springmvc拦截器最主要的方法就是doService(),该方法执行了doDispatch()doService中1.首先将request的Attribute遍历一遍放入一个attributesSnapshot快照HashMap中,2.然后再request中设置了一部分springmvc的Attribute属性,3.然后执行doDispatch()4.将第一步中的attrib...原创 2019-08-13 20:40:07 · 695 阅读 · 0 评论 -
springsession详解-区别于传统java-session
https://www.cnblogs.com/lxyit/p/9672097.html转载 2019-08-15 14:30:55 · 538 阅读 · 0 评论 -
websocket-java实现以及与http long poll和轮询的比较
Websocket是一个持久化的协议,相对于HTTP这种非持久的协议来说,Websocket是基于HTTP协议的,或者说借用了HTTP的协议来完成一部分握手ajax轮询 的原理非常简单,让浏览器隔个几秒就发送一次请求,询问服务器是否有新信息。long poll 其实原理跟 ajax轮询 差不多,都是采用轮询的方式,不过采取的是阻塞模型(一直打电话,没收到就不挂电话),也就是说,客户端发起连接后...原创 2019-08-15 16:39:42 · 446 阅读 · 0 评论 -
logstash-启动
logstash依赖于JDK,所以需要先安装JAVA_HOME环境变量安装路径需要注意,不能含有冒号(:)原创 2019-08-26 13:27:32 · 38425 阅读 · 7 评论 -
logstash-命令
启动命令:logstash -f …/config/logstash-sample.conf因此启动测试配置试一下:logstash -f …/config/logstash-sample.conf --config.test_and_exit该–config.reload.automatic选项启用自动配置重新加载,因此您不必在每次修改配置文件时停止并重新启动Logstash。logsta...原创 2019-08-26 15:58:59 · 2036 阅读 · 0 评论 -
logstash-工作原理
logstash事件处理管道有三个阶段:输入、输出、过滤原创 2019-08-27 09:40:54 · 1437 阅读 · 0 评论 -
beats-数据分析(日志、网络、心跳)
下载地址:https://www.elastic.co/cn/downloads/beats/filebeat原创 2019-08-30 16:18:38 · 1208 阅读 · 0 评论 -
Transaction-spring事务-遇到的问题
当主项目(父项目),配置了事务的时候,1.子项目,或者被引用的项目,只要是配置文件的base-package配置了路径,都会被扫描到2.由于现在的项目采用的控制层和业务层分离(两个jar),配置的扫描路径是根路径,因此controller和service都会扫描,会出现嵌套事务3.一般情况下需要避免出现控制层业务现象,业务逻辑一般都会放在service层,因此需要建立代理service(或者...原创 2019-09-02 12:32:33 · 452 阅读 · 0 评论 -
java-String编码问题
最近做项目遇到一个问题,就是String字符串转码问题,接受到的XML字符串,进行字符串转换XML的时候报错,提示utf-8 一个字节 两个字节的问题,其实说白了就是String字符串编码格式问题。需要将字符串getBytes,之后再new String(xxx.getBytes(),“utf-8”),进行转码其实字符串存储也是二进制形式,只不过有的使用GBK编码格式存储的二进制,有的是用U...原创 2019-09-19 12:16:42 · 3164 阅读 · 0 评论 -
CAS单点登录及防重复登录
防重复的登录:登录时候存储application数据退出时释放application存储的数据可以使用application内置作用域对象中存储所有的登录信息ServletContext写自定义监听事件,尤其是sessionDestroyed,释放application存储的数据自定义监听事件,尤其是sessionCreated,可以统计在线人数https://www.cnblogs...原创 2019-07-01 17:32:55 · 2128 阅读 · 0 评论 -
java-自定义标签
https://www.cnblogs.com/xdp-gacl/p/3916734.html转载 2019-06-12 15:53:27 · 232 阅读 · 0 评论 -
JAVA远程读取服务器文件
在访问linux时,首先需要使用工具类jar包:ganymed-ssh2登录远程服务器:public boolean login(){ //创建远程连接,默认连接端口为22,如果不使用默认,可以使用方法 //new Connection(ip, port)创建对象 Connection conn = new Connection(ip); try { //连接远程服...转载 2018-11-18 21:13:34 · 45175 阅读 · 6 评论 -
java-有返回值的方法,request.getRequestDispatcher()跳转问题
如果有些JAVA方法有返回值,但是在某些判断操作后要跳转页面,那么方法可以是这样跳转之后返回null就行,表示不进行任何操作特此提示ajax访问后端的时候,不支持页面跳转,ajax是局部刷新页面,不能代表客户端发起跳转页面。...原创 2018-11-22 13:25:54 · 7252 阅读 · 0 评论 -
java-void方法返回
本次改造系统的时候,发现一个有趣的问题,那就是当void方法改造需要添加中断流程时,可以直接return;原来JAVA void方法执行完后,最后一行默认就是return;因此如果想在程序中添加逻辑中断流程,而不修改其他代码的话可以直接return;...原创 2018-11-22 13:30:10 · 16934 阅读 · 0 评论 -
java-@ResponseBody和response.getWriter返回报错
@RequestMapping(value="/checkGetWriterError", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)@ResponseBodypublic ServiceResponse<String> checkGetWriterError(HttpServletResponse response) thr...原创 2018-11-20 11:14:27 · 6334 阅读 · 0 评论 -
JAVA-JDBC连接数据库使用SERVICE NAME、SID以及TNSName不同写法
https://blog.csdn.net/raymondual/article/details/41516217转载 2018-11-25 11:01:21 · 7016 阅读 · 0 评论 -
JAVA-map转换json异常
https://blog.csdn.net/u013185616/article/details/52799166转载 2018-11-27 17:38:50 · 7964 阅读 · 0 评论 -
JAVA-获取系统属性
最近做项目,发现配置文件有如下配置:${user.home}&lt;context:property-placeholder ignore-unresolvable=“true” location=“file:${user.home}/cic-zyb/cic-zyb.properties” /&gt;此处并不知道${user.home}是什么路径,此处是我电脑的路径:C:\Users\su...转载 2018-12-20 10:08:57 · 7018 阅读 · 0 评论 -
maven-创建项目
选择创建的WEB项目适合原创 2018-12-26 14:39:15 · 4802 阅读 · 0 评论 -
cookie-resopnse对象addCookie和addHeader设置cookie区别
下面有两个具体的代码示例:设置addCookie@RequestMapping("/respAddCK") @ResponseBody public String respAddCK(@RequestBody UserInfoVo loginUser){ System.out.println("begin"); AppUser user ...原创 2019-01-14 11:42:40 · 12047 阅读 · 1 评论 -
jetty-demo启动
Jetty是一个提供HHTP服务器、HTTP客户端和javax.servlet容器的开源项目。Jetty和tomcat相比,是轻量级服务器,支持热拔插,可扩展性大tomcat集成了很多功能,个性化瘦身较复杂...原创 2019-01-24 14:13:18 · 5607 阅读 · 0 评论 -
idea-shiro项目报错BigInteger cannot be cast to java.lang.Long
[ERROR][2019-01-15 11:44:55,599][com.alibaba.druid.pool.DruidDataSource]create connection error, url: jdbc:mysql://localhost:3306/shiro_demo?useUnicode=true&amp;amp;characterEncoding=utf-8&amp;amp;useSSL=fals...原创 2019-01-15 13:45:48 · 5611 阅读 · 0 评论 -
idea-单独运行main类
由于在项目中有很多情况下需要单独运行一个类,做一个测试使用,但是idea可能会加载很多其他用不到的Class,从而引起编译错误,为了避免这种情况先修改配置,去除其中的build之后每次运行之前都要先手动编译一次,再运行这是我自己弄得一个最简单的测试参考:https://blog.csdn.net/m0_37355951/article/details/84798307...原创 2019-02-11 10:41:30 · 21894 阅读 · 3 评论 -
java基础-整数二级制的表示形式
刚在网上看了一个问题int length = 7;int newL = length*3&amp;gt;&amp;gt;&amp;gt;1+1;System.out.println(newL);输出结果5&amp;gt;&amp;gt;:带符号右移。正数右移高位补0,负数右移高位补1。比如:4 &amp;gt;&amp;gt; 1,结果是2;-4 &amp;gt原创 2019-02-13 11:23:03 · 5026 阅读 · 0 评论 -
tomcat-jetty-JVM调优
都是需要修改配置文件jetty:打开jetty根目录下的bin/jetty.sh文件,修改配置项JAVA_OPTIONS的配置即可JAVA_OPTIONS="-server -Xms6G -Xmx6G -Xmn2G -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=5 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC ...原创 2019-02-26 10:00:01 · 3273 阅读 · 0 评论 -
springmvc-多个请求同一方法执行顺序问题
首先要确保这些请求不是同一请求:再测试这个问题的时候,遇到了一个问题,就是同一浏览器(谷歌),多次测试(开了多个tab页),发现多次请求同一方法,执行时顺序执行,即第一个请求执行完毕,第二个请求才开始执行当打开QQ浏览器时,才能并发执行此问题,其实还是session问题导致的,同一浏览器多次请求同一个方法(域名、地址都相同),会被认为是同一个用户多次请求,因此是顺序执行;当用其他浏览器打开时...原创 2019-03-08 15:10:41 · 6660 阅读 · 0 评论 -
spring自定义注解AOP实现
注解代码package com.example.demo.anno;@Documented@Retention(RUNTIME)@Target(METHOD)public @interface AnnoLogger { /** * 名称,方法别名 * @return */ public String name() default ""; /** * 参数 ...原创 2019-05-10 15:30:07 · 592 阅读 · 0 评论 -
Java下载文件的几种方式
1.以流的方式下载public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File file = new File(path); // 取得文件名。 ...转载 2018-11-18 17:15:01 · 5580 阅读 · 0 评论