Java并发——CAS原子操作、java.util.concurrent.atomic原子变量类源码解析

  • Post author:
  • Post category:java

比较并交换(compare and swap, CAS),是原子操作的一种,可用于在多线程编程中实现不被打断的数据交换操作,从而避免多线程同时改写某一数据时由于执行顺序不确定性以及中断的不可预知性产生的数据不一致问题。 该操作通过将内存中的值与指定数据进行比较,当数值一样时将内存中的数据替换为新的值。 ---------维基百科 CAS是 解决多线程并行情况下使用锁造成性能损耗的一种机制 ,CAS…

继续阅读 Java并发——CAS原子操作、java.util.concurrent.atomic原子变量类源码解析

Caused by: java.util.ServiceConfigurationError: java.nio.charset.spi.CharsetProvider: Provider com.s

  • Post author:
  • Post category:java

java Caused by: java.util.ServiceConfigurationError: java.nio.charset.spi.CharsetProvider: Provider com.spire.ms.charsets.CharsetProvider not found 关于使用spire.pdf的错误问题 关于使用spire.pdf的错误问题 我也整了许久,后面换版本才解…

继续阅读 Caused by: java.util.ServiceConfigurationError: java.nio.charset.spi.CharsetProvider: Provider com.s

JavaWeb三大框架基础架构——CRUD的基础功能搭建

  • Post author:
  • Post category:java

JavaWeb三大框架基础架构——CRUD的基础功能搭建 介绍 注意 applicationContext.xml mybatis-config.xml web.xml 结束语 介绍 项目前端采用了bootstrap,后端是ssm三大框架 注意 这是项目的基础架构 要注意的几个配置:applicationContext.xml,mybatis.xml,web.xml,pom.xml 其中的pojo…

继续阅读 JavaWeb三大框架基础架构——CRUD的基础功能搭建

java机构树分层_java学习记录-树结构

  • Post author:
  • Post category:java

概念 树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。  树是由结点或顶点和边组成的(可能是非线性的)且不存在着任何环的一种数据结构。没有结点的树称为空(null或empty)树。一棵非空的树包括一个根结点,还(很可能)有多个附加结点,所有结点构成一个多级分层结构 结点:下面就是一个简单的树, 每一个元素都称为一个结点,而最顶端…

继续阅读 java机构树分层_java学习记录-树结构

Java程序健康检查,查看相关Bean对象是否存在、各种服务是否正常运行

  • Post author:
  • Post category:java

本代码的目的用于Java程序健康检查,放到项目中可以查看相关Bean对象是否存在、各种服务是否正常运行 上接上代码,这个需要自己测试,或是压测,本人从公司项目中扒下来的 import java.util.List; /** * Bean健康检查接口 */ public interface IBeanHealthChecker { /** * 检查checker内部定义bean * @return …

继续阅读 Java程序健康检查,查看相关Bean对象是否存在、各种服务是否正常运行

java反斜杠,Java Properties反斜杠

  • Post author:
  • Post category:java

I am using Java Properties to read a properties file. Everything is working fine, but Properties silently drops the backslashes. (i.e.) original: c:\sdjf\slkdfj.jpg after: c:sdjfslkdfj.jpg How do I ma…

继续阅读 java反斜杠,Java Properties反斜杠

JAVA反编译

  • Post author:
  • Post category:java

CRF介绍 crf的功能: 把 . class文件反编译成.java文件的工具之一,可对单个class文件或整个jar包操作 准备工作 下载crf的jar包, 官网下载地址 百度网盘下载地址,密码:1234 CRF的使用 注意::" --outputdir 存放的路径 ",可以不加,不加则只会显示,不会保存 如果只有一个.class文件,打开cmd输入命令: java -jar cfr所在的路径 …

继续阅读 JAVA反编译

java实现表锁行锁

  • Post author:
  • Post category:java

背景 今天做需求时遇到一个统计场景,接口将用户请求记录缓存在concurrentHashmap,其中用户名作为map的Key,value为统计结果类的对象,更新此map的时候使用分段锁(通过用户名取hash值定位对应的锁)确保在相对良好性能下使得value更新线程安全。此外通过定时任务2秒一次将缓存的map保存到redis数据库后再清空map,这意味着定时任务执行的某个时候需要暂停所有写入map操…

继续阅读 java实现表锁行锁

保留三位有效数字—-java

  • Post author:
  • Post category:java

public static int magnitude(Double price){ if (price == 0.0) {return 0;} int fac; Long i; Long k = 10L; if (price > 1) { i = price.longValue(); fac = 0; while (i / k != 0L) { fac++; k *= 10; } } el…

继续阅读 保留三位有效数字—-java

JVM-初识java虚拟机(四)—- 线程上下文类加载器

  • Post author:
  • Post category:java

线程上下文类加载器(ThreadContextClassLoader) 引言: SPI机制简介 SPI的全名为Service Provider Interface,主要是应用于厂商自定义组件或插件中。在java.util.ServiceLoader的文档里有比较详细的介绍。简单的总结下java SPI机制的思想:我们系统里抽象的各个模块,往往有很多不同的实现方案,比如日志模块、xml解析模块、jd…

继续阅读 JVM-初识java虚拟机(四)—- 线程上下文类加载器