
java基础
文章平均质量分 89
minmin很潇洒
这个作者很懒,什么都没留下…
展开
-
Spring Cache - 配置方式
转载于:Spring Cache - 配置方式 - 知乎推荐:Java开发的成长史 - 知乎知乎没有标题导航栏,建议可以稳定访问github的读者可以访问原文:https://halelu.github.io/2020/06/spring-cache-2/上一篇整体但粗略聊了聊 Spring Cache 的实现,这篇开始准备聊聊细节,就从 Spring Cache 的配置注入方式聊起吧。换句话说,虽然聊的是 Spring Cache 源码,但这块其实主要聊的是 Spring Framew原创 2022-04-19 15:46:45 · 1439 阅读 · 0 评论 -
java代码风格检查插件
pom引入以下pmd插件:<!-- code style --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.8</vers...原创 2020-11-12 20:19:25 · 483 阅读 · 0 评论 -
velocity代码生成器的使用
1.导入依赖<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version></dependency>2.resou...原创 2019-08-26 00:21:45 · 1962 阅读 · 0 评论 -
Linux 安装Resin4.0.40
转载自:https://blog.51cto.com/467754239/1558435一、Resin简介Resin官网地址:http://caucho.com/Resin源码包下载地址:http://caucho.com/products/resin/downloadResin是CAUCHO公司的产品,是一个非常流行的支持servlets和jsp的引擎,速度非常快。Re...转载 2019-04-18 20:57:21 · 797 阅读 · 0 评论 -
mac osx 下 使用 brew 安装 svn的javahl ,并解决报错Incompatible JavaHL library loaded. Subversion 1.8.x required
官网说的此命令brew install --universal --java subversion在 brew 1.20以后--universal参数已废弃,所以报错 invalid --universal,此时使用brew installsubversion即可。不要忘了建立java 虚拟机读取的路径You may need to link the Java bin...原创 2019-04-01 21:35:26 · 1981 阅读 · 1 评论 -
java使用类之前的准备工作
java在使用类之前的准备工作:1 加载 2 链接 3 初始化原创 2017-10-30 11:23:02 · 329 阅读 · 0 评论 -
java多线程socket实现简单的聊天
server端:需要注意的是死循环acept,然后对每一个客户端开两个线程,分别是读写,这样使得可以全双工通信,另外注意读写的方法,比如读的时候的nextLine,要记得在发送的时候加上换行符,否则读不到。package com.min.testsocket;import java.io.IOException;import java.io.PrintWriter;impo原创 2017-10-24 10:04:26 · 4902 阅读 · 1 评论 -
java中volatile关键字的含义
java中volatile关键字的含义在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchron转载 2017-08-14 15:42:35 · 274 阅读 · 0 评论 -
java原子性与并发
1. 引言原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为"不可被中断的一个或一系列操作" 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Intel处理器和Java里是如何实现原子操作的。java的原子性操作有哪些Java中的原子操作包括:1)除long和double之外的基本类型的赋值操作2)转载 2017-08-14 15:36:08 · 343 阅读 · 0 评论 -
防范java代码的 finalizer() 终结器攻击
原文 http://www.ibm.com/developerworks/cn/java/j-fv/index.html 在使用终结器 (finalizer) 来创建对象时,其可能会给 Java 代码带来漏洞。该漏洞是使用终结器来恢复对象的著名技术的一种变体。当包含 finalize() 方法的对象变得无法访问时,它会被放入一个将在以后某个时刻处理的队列上。本文解释此类攻击的工作原理,介绍转载 2017-08-11 10:29:14 · 1090 阅读 · 0 评论 -
关于解决RSA非对称加密时,将密文存入数据库取出后,再对密文解密的时候抛出javax.crypto.BadPaddingException: Data must start with zero
RSA非对称加密,由于其对加密的明文长度有限制,所以通常配合对称加密来操作,即把对称加密中的秘钥加密传送来保证用对称加密的安全性。当我用RSA公钥加密AES的 密钥之后,存入mysql之后,然后再取出来进行解密,但是报错javax.crypto.BadPaddingException: Data must start with zero。我改了半天,终于想了一个解决办法,虽然有些麻烦,但是有效果。原创 2017-06-14 09:10:53 · 4050 阅读 · 2 评论 -
Java初始化顺序总结及其程序执行过程图- 静态变量、静态代码块、成员变量、构造函数
Java初始化顺序1在new B一个实例时首先要进行类的装载。(类只有在使用New调用创建的时候才会被java类装载器装入)2,在装载类时,先装载父类A,再装载子类B3,装载父类A后,完成静态动作(包括静态代码和变量,它们的级别是相同的,安装代码中出现的顺序初始化)4,装载子类B后,完成静态动作类装载完成,开始进行实例化1,在实例化子类B时,先要实例化父类A2,实例化父转载 2017-06-21 17:22:54 · 476 阅读 · 0 评论 -
ConcurrentHashMap、Collections.synchronizedMap、Hashtable的区别与讨论
java集合框架java1.5新特性 ConcurrentHashMap、Collections.synchronizedMap、Hashtable讨论在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable转载 2017-06-20 15:07:35 · 958 阅读 · 0 评论 -
Java中的访问控制
Java中的访问控制表1-1 可见/访问性在同一类中同一包中不同包中 同一包子类中 不同包子类中 public yes yes yes yes yes protected yes yes no yes yes转载 2017-06-07 19:13:39 · 294 阅读 · 0 评论 -
java 核心技术精简总结知识点
1. Java没有任何unsigned类型2. float类型的数值后面有一个后缀F,没有后缀F的浮点数默认为double类型3. if(x = 0)在C++中可以编译通过,其结果总为false,而在Java中,整数表达式x = 0不能转化为布尔值4. 不能使用一个未被初始化的变量5. 使用strictfp关键字标记的方法或者类要使用严格计算,这种方式计算可能产生溢出原创 2017-05-29 09:42:01 · 879 阅读 · 0 评论 -
java用命令行编译运行时带有包和使用外部jar包的情况
命令行编译运行Java程序时,加载指定目录中的Jar包:解决方案一:[java] view plain copy 编译:javac -Djava.ext.dirs=./lib Test.java 或 javac -Djava.ext.dirs=D:/javacode/lib[html] view原创 2017-04-11 14:39:41 · 12545 阅读 · 4 评论