![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
alwaysBrother
这个作者很懒,什么都没留下…
展开
-
TCC-transaction源码(三):示例工程介绍
示例项目地址:https://github.com/changmingxie/tcc-transaction/tree/master-1.2.x/tcc-transaction-tutorial-sample一. 示例项目源码中各个类之间交互时序图二. 示例项目泳道流程图异常交易流程:正常交易流程:三. 示例项目主流程图...原创 2020-11-16 14:22:58 · 359 阅读 · 0 评论 -
调试dubbo-3.服务引用
/** * 通过websocket广播消息,发给所有定阅用户 * * @param subsAdd 用户的定阅地址 * @param msg 发送的内容,Json字符串格式 */public void broadCast(String subsAdd, Object msg) { messagingTemplate.convertAndSend(subsAdd, msg); log.info("BroadCast through webSocket successfull原创 2020-10-15 19:28:51 · 224 阅读 · 0 评论 -
调试dubbo-2.服务导出
使用SimpMessagingTemplate发送消息public class WebSocketHelperImpl { @Autowired private SimpMessagingTemplate messagingTemplate; /** * 通过websocket点对点发送单一定阅用户 * * @param subsAdd 用户的定阅地址,不需要拼接前缀和用户id * @param msg 发送的内容,Json字符串原创 2020-10-15 19:28:16 · 176 阅读 · 0 评论 -
调试dubbo-1
spring启动解析dubbo的bean定义 在dubbo-config-spring 的resources/META-INF/spring.handlers文件中,指定了dubbo的配置解析器, 用来解析dubbo配置文件中的那些标签。key是spring配置文件中的schemaLocation指定的,value是解析器类,一一对应。 spring容器启动阶段加载配置文件中bean定义的时候(org.springframework.beans.factory.xml.BeanDefinitio..原创 2020-10-15 19:27:36 · 161 阅读 · 0 评论 -
arthas选择pid报错、端口占用报错
方便部分朋友上github不方便,我来搬运一下:报错如下:[ERROR] Can not read maven-metadata.xml from: https://maven.aliyun.com/repository/public/com/taobao/arthas/arthas-packaging/maven-metadata.xml[ERROR] Can not find Arthas under local: /root/.arthas/lib and remote: aliyun官方原创 2020-08-26 16:28:03 · 4721 阅读 · 0 评论 -
JNDI 是什么
转自:http://blog.csdn.net/zhaosg198312/article/details/3979435JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。那么,JNDI到底起什么作用转载 2017-11-28 16:12:38 · 107 阅读 · 0 评论 -
distuptor概述中文文档
原文地址:https://github.com/LMAX-Exchange/disruptor/wiki/Getting-Started文章目录基本事件产生与消费基本事件产生与消费为了开始使用Disruptor,我们将考虑一个非常简单的自定义例子,一个将单个Long值从生产者传递给消费者的例子,消费者只需打印出值。首先我们要定义携带数据的事件。public class LongEvent{ private long value; public void set(long valu翻译 2020-06-10 22:04:25 · 595 阅读 · 0 评论 -
httpClient使用小结
HttpClient原创 2018-04-25 18:27:38 · 1970 阅读 · 0 评论 -
JAVA读取文件里面部分汉字内容乱码
JAVA读取文件里面部分汉字内容乱码读取一个txt文件,到代码中打印出来,发票有部分汉字的内容是乱码的。我开始的方式是这样的, 如下,这是完全错误的,汉字是两个字节的,如果每次读固定个字节,可能会把汉字截断。就会出现部分乱码的情况。package susq.path;import java.io.File;import java.io.FileInputStream;import jav...原创 2018-05-18 19:47:25 · 6718 阅读 · 5 评论 -
java静态代理和动态代理
java静态代理和动态代理代理的优点职责清晰真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了中介的作用和保护了目标对象的作用。高扩展性,可以在代理方法前后增加额外的处理逻辑。被代理的对象一个接口public interfa...原创 2018-06-26 16:54:02 · 166 阅读 · 0 评论 -
java多线程Callable和Future
java创建线程的三种方式实现Runnable,重写run方法继承Thread,重写run方法实现Callable接口,重写call方法前两种不能返回执行结果,如果需要,必须通过共享变量等线程通信方式获取,比较麻烦。通过Callable 和Future ,可以得到认知执行完毕之后的结果。Callable定义了执行的任务和返回的结果。Future 用来(1)获取返回的结果;(2)判断是否...原创 2019-01-12 16:06:06 · 281 阅读 · 0 评论 -
synchronized修饰不同位置的作用
synchronized修饰不同位置的作用例1:修饰多个方法public class SynchronizedTest { public static void main(String[] args) { Hello hello = new Hello(); new Thread(hello::printA, "线程A").start(); ...原创 2019-03-31 18:35:28 · 2291 阅读 · 0 评论 -
java关于hashCode()方法的一些理解
java关于hashCode()方法的一些理解它是Object 类中的native方法。如果对象中不去实现自己的hashCode()方法,那么就使用虚拟机提供的本地方法,一般是通过将该对象的内部地址转换成一个整数来实现的。它的注释说明了很多它的特性。在程序执行期间,只要equals方法的比较操作用到的信息没有被修改,那么对这同一个对象调用多次,hashCode方法必须始终如一地返回同一个...原创 2019-04-08 15:43:12 · 186 阅读 · 0 评论 -
对Java8中HashMap源码的一些理解
Java8对HashMap源码的一些理解1. Node<K, V>节点、TreeNode<K,V>节点hashMap原本是链表的数组,java8后,链表大小超过8的时候,会转化成红黑树,所以就有了TreeNode,它是间接继承HashMap.Node<K,V>的。数据包装在这两种结构中。最终数据的保存形式还是存放在transient Node<K,V&...原创 2019-04-08 16:56:50 · 173 阅读 · 0 评论 -
java线程安全的高效计数--LongAddr原理分析
之前遇到一个问题,写一个线程安全的高效计数。题目就这一句话,通过对这个问题的思考展开本篇。一 、初步想法synchronized控制变量的修改加锁的方式会阻塞线程,线程需要被唤醒,这涉及到了线程的状态的改变,需要上下文切换,所以是比较重量级的,-- 可以用但是低效。volatile修饰计数变量volatile只能保证多线程的内存可见性,不能保证多线程的执行有序性。而最基本的同步要...原创 2019-08-17 15:22:15 · 2814 阅读 · 0 评论 -
JAVA可变参数的一个问题
今天看一同事叫我看 fastjson jar包中的一段代码 在 JSON.class 中,问我这个怎么调用的。内容如下 public static <T> T parseObject(String text, Class<T> clazz) { return parseObject(text, clazz); }我一看我就觉得这肯定死循环呀,递归调用没有结束的判断条件原创 2018-04-19 20:02:10 · 481 阅读 · 0 评论 -
JAXB解析xml
JAXB解析xml真是非常的方便,只需在对象上加上注解,标注对应xml文件的节点即可。很方便。下面是一个示例。封装解析用到的代码,提供三个方法,一个是将字符串解析为对象,一个是读取一个xml文件解析,另一个是将输入流解析为对象。package cn.com.servyou.hs.support.core.util;import lombok.extern.slf4j.Slf4j;import j原创 2018-04-19 18:44:48 · 2197 阅读 · 0 评论 -
前后端数据交互乱码
前后端数据交互乱码独立修改编码方式可以设置单个参数的编码方式String name = new String((request.getParameter("name")).getBytes("iso-8859-1"),"utf-8");也可以修改request的编码方式即可try { request.setCharacterEncoding("utf-8");} catch (Unsupp原创 2017-05-15 20:18:32 · 415 阅读 · 0 评论 -
ERROR: JAVA_HOME is set to an invalid directory.
ERROR: JAVA_HOME is set to an invalid directory. JAVA_HOME = D:/jdk1.5.0_15; Please set the JAVA_HOME variable in your environment to match the location of your Java installationmaven执行mvn命令的时候,可能回出原创 2017-05-30 15:19:03 · 1508 阅读 · 0 评论 -
cron表达式笔记
cron表达式:1)Cron表达式的格式:秒 分 时 日 月 周 年(可选)。字段名 允许的值 允许的特殊字符秒 0-59 , - * /分 0-59 , - * /小时 0-23 , - * /日 1-31 , - * ? / L W C月 1-12 or JAN-DEC , - * /原创 2017-05-31 19:17:02 · 228 阅读 · 0 评论 -
使用BeanUtils复制Bean属性
使用BeanUtils复制Bean属性jar包: commons-beanutils方法 : BeanUtils.copyProperties(Object dest, Object orig)examplepublic class OrignVo { private String anInt; // String 类型 private double aDouble;原创 2017-05-27 10:51:03 · 1591 阅读 · 0 评论 -
函数式接口和lambda表达式
函数式接口和lambda表达式函数式接口(Functional Interface) : 任何接口,如果只包含唯一 一个抽象方法,那么它就是一个FI。(之前它们被称为 SAM类型,即 单抽象方法类型(Single Abstract Method))。接口中的方法默认就是public abstract的。 接口可能继承了一个 Object 已经提供的方法,比如 toString(),equ原创 2017-06-20 21:54:40 · 5085 阅读 · 0 评论 -
java获取当前路径的几种方法
1、利用System.getProperty()函数获取当前路径: System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径 2、使用File提供的函数获取当前路径: File directory = new File("");//设定为当前文件夹 try{ System.out.pr转载 2017-06-09 09:57:09 · 12925 阅读 · 0 评论 -
spring读写excel文件的时候,return语句或者异常信息写到了文件里面
spring读写excel文件的时候,return语句或者异常信息写到了文件里面return 语句if(true) { System.out.println("准备返回了"); return "hellowrld";}response.addHeader("Content-Disposition", "attachment;fileName=ddd.原创 2017-06-10 14:32:49 · 358 阅读 · 0 评论 -
java日期处理
java日期处理SimpleDateFormat 的 format()方法,可以把日期转换为指定样式的字符串。 Date date = new Date();SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");String dateStr = ft.format(date);System.out.prin原创 2017-06-07 20:43:39 · 246 阅读 · 0 评论 -
使用枚举实现switch中使用String作为条件
使用枚举实现switch中使用String作为条件以根据字符串类型的 + - * /作为判断条件 , 实现简单计算器为例子。枚举类:public enum OperationEnum { A("+"), B("-"), C("*"), D("/"); private String operate; private OperationEnum原创 2017-06-26 15:45:50 · 8046 阅读 · 0 评论 -
使用jxl读取模板文件,写入数据并导出excel
使用jxl读取模板文件,写入数据并导出excel这里为了方便全写在一个main方法里面了。package com.excel.jxl.readexport;import com.excel.jxl.model.User;import jxl.Workbook;import jxl.read.biff.BiffException;import jxl.write.Boolean;import原创 2017-05-31 21:49:13 · 8884 阅读 · 4 评论 -
jxls读取模板导出Excel学习笔记
jxls读取模板导出Excel学习笔记 jxls是一个简单的、轻量级的excel导出库,使用特定的标记在excel模板文件中来定义输出格式和布局。除此以外,java中成熟的excel导出工具有poi、jxl,但他们都是使用java代码的方式来导出excel,编码效率很低且不方便维护。jxls的运行效率相对于 jxl、poi要慢,但导出数据量较小的时候使用它,可以加快编码的速度,毕竟用起来简单方原创 2017-05-12 09:19:31 · 2135 阅读 · 0 评论 -
对JAVA RMI的认识
转自:https://www.cnblogs.com/dongguacai/p/5617698.htmlRMI的定义RPC (Remote Procedure Call):远程方法调用,用于一个进程调用另一个进程中的过程,从而提供了过程的分布能力。RMI(Remote Method Invocation):远程方法调用,即在RPC的基础上有向前迈进了一步,提供分布式对象间的转载 2017-11-28 15:58:10 · 162 阅读 · 0 评论 -
dom4j解析xml的demo
dom4j解析xml原创 2018-04-10 18:50:55 · 342 阅读 · 0 评论 -
jdk安装问题
转自:http://www.cnblogs.com/yjmyzz/p/3521554.htmlJAVA_HOME环境变量失效的解决办法晚上把Oracle自带的weblogic给卸载了,然后打开eclipse,发现报错了:Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg'JAVA_HOME的环境变量值根本不是这转载 2017-05-24 18:27:08 · 331 阅读 · 0 评论