- 博客(26)
- 收藏
- 关注
原创 java类Class方法功能小结
Class方法功能小结 public String toString() { return (isInterface() ? "interface " : (isPrimitive() ? "" : "class ")) + getName(); } /**输出类、接口,原生类型的描述,输出示例:class xxx.xxx.xxClass.interface xxx.xxx.xxInterfaceintdoublelong*/publi
2020-05-28 13:36:06 247
原创 spring事务的几种传播机制,及声明了事务注解的方法运行的所需环境
1. spring中几种事务的传播机制传播行为含义运行所需环境PROPAGATION_REQUIRED表示当前方法必须运行在事务中。如果当前事务存在,方法将会在该事务中运行。否则,会启动一个新的事务PROPAGATION_SUPPORTS表示当前方法不需要事务上下文,但是如果存在当前事务的话,那么该方法会在这个事务中运行PROPAGATION_MANDATORY表示该方法必须在事务中运行,如果当前事务不存在,则会抛出一个异常PROPAGATION_REQ
2020-05-23 15:37:31 422
原创 关于数据库事务隔离级别引起地不同问题,以及相应的解决办法
1.数据库事务隔离级别引起地不同问题脏读事务A读到了事务B修改了的但未成功提交的数据, 这种数据完全是垃圾数据。幻读 某个事务在读取某个范围内的记录时,另外一个事务又在该范围内插入了新的记录,当之前的事务再次读取该范围的记录时,会产生幻读。不可重复读事务1内,读取了一个数据,事务1还没有结束时,事务2也访问了这个数据,修改了这个数据,并提交。紧接着,事务1又读这个数据。由于事务2的修改,那么事务1两次读到的的数据可能是不一样的,因此称为是不可重复读。隔离级别Read uncom
2020-05-22 17:25:28 510
原创 maven中的idea界面上的几个命令讨论
1.常用命令介绍如下图是在idea环境下常用的几种命令,但他们有什么具体区别呢?clean : 清除目录,清除target目录,而target目录是整个工程被编译后存放的目录validate:验证工程是否正确,所有需要的资源是否可用compile:编译源代码,不包括测试代码。test-compile: 编译测试代码,当然也会编译源代码(因为测试依托源代码)。test : 运行测试代码,执行过程是先执行 test-compile然后运行测试代码。package:打包,在target目录下打
2020-05-22 10:18:21 696
原创 测试CopyOnWriteArrayList的特性
code is shown as followingpublic class TestCopyOnWriteArrayList { public static void main(String[] args) { CopyOnWriteArrayList<Object> list = new CopyOnWriteArrayList<Object>...
2020-05-21 17:57:15 139
原创 关于autowire注解,在没有写set方法的的情况下,如何将值注入进去
问题的代码详细演示@Repositorypublic class EmployeeDao { private static Map<Integer, Employee> employees = null; @Autowired private DepartmentDao departmentDao; static{ employees = new HashM...
2020-05-21 17:55:44 1593 1
原创 Java序列化之Externalizable
Externalizable简介#这里可以看出 它也是直接继承自Serializable,实现它的类必须复写两个方法:#1.writeExternal#2.readExternalpublic interface Externalizable extends java.io.Serializable { /** * The object implements the w...
2020-05-21 17:55:04 144
原创 关于Session和Cookie简要描述
session介绍session的工作原理(1)浏览器端第一次发送请求到服务器端,服务器端创建一个Session,同时会创建一个特殊的Cookie(name为JSESSIONID的固定值,value为session对象的ID),然后将该Cookie发送至浏览器端(2)浏览器端发送第N(N>1)次请求到服务器端,浏览器端访问服务器端时就会携带该name为JSESSIONID的Cookie...
2020-05-21 17:54:54 517
原创 Java方法之Integer探寻
java.lang.Integer#getInteger(java.lang.String, int)方法简介 public static Integer getInteger(String nm, int val) { Integer result = getInteger(nm, null); //这里如果获取的val如果为null,那么默认值就是val了,接下来看看 g...
2020-05-21 17:54:31 132
原创 java原生序列化中反序列化时,是如何创建对象的
看一下源代码生成对象的private Object readOrdinaryObject(boolean unshared) throws IOException { ... obj = desc.isInstantiable() ? desc.newInstance() : null; ... ...
2020-05-21 17:54:13 793
原创 字节码常量池中的项目为什么不是连续的?
此处是 使用javap -verbose 命令解析下的JDK1.7下String.class中的常量池项目的内容,如下图所示这个地方为什么不连续呢?
2020-05-21 16:42:49 353 1
原创 Linux上关于Tomcat启动时与jdk环境变量设置的关系
catalina.sh部分shell代码剪切 shift touch "$CATALINA_OUT" if [ "$1" = "-security" ] ; then if [ $have_tty -eq 1 ]; then echo "Using Security Manager" fi shift eval $_NOHUP "\"$_R...
2019-12-03 15:59:59 409 1
原创 VMWare下面安装centos64为网络连接配置那些事
背景:由于使用的是固态硬盘,总共才128G,后来用着,用着安装虚拟机的那个快被用爆了,此时寻思着,使用虚拟机的压缩工具压缩一下vmdk,但是里面的vmdk都带有中文(安装linux时埋下了隐患,这里切记不要带有中文),压缩工具根本识别不了,于是在无知的情况下索性删了一部分vmdk,顺便清空了回收站,这一下,不得了,里面的linux跑不起来了,于是重新安装centos安装之后,开始重新配置网卡部分...
2019-12-03 15:20:56 178
原创 关于使用idea工具时遇到的jdk切换时遇到的一个问题
笔者是一个喜欢在idea里来回切换jdk的程序猿此时笔者的idea使用的还是jdk1.6在学习java虚拟机时,遇到了需要在jdk环境下,引入java.lang.invoke,这个是在jdk.1.7之后才会有的,于是“切换”,点击OK这个时候以为已经切换了,然并卵,依然报找不到invoke包于是随意找了一个jdk里面,java.lang.下的类,发现了端倪,居然还是jdk1.6下面的...
2019-11-20 11:50:00 331
原创 关于使用sun 代码生成器执行命令 中遇到的问题及如何解决过程罗列如下
执行 命令 ‘apt -factory annotations.InterfaceExtractorProcessorFactory Multiplier.java -s …/annotations’,报错如下查看apt命令使用细则,猜测可能这里需要制定类路径果然有类文件路径设置参数添加类路径设置参数,再次执行命令 ‘apt -classpath D:\xxxx\xxxxx\targe...
2019-11-15 20:11:28 225
原创 Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion 的解决方法
第一步解决方法:将C盘中Windows\System32和Windows\SysWOW64文件夹下的java.exe, javaw.exe and javaws.exe文件删掉即可。第二步打开命令行,执行 java -version, 发现是版本是jdk1.6,明明JAVA_HOME设置的是1.7的jdk的路径,说明系统有缓存,刷新一下即可第三步编辑path,弹出框点击确定,刷新...
2019-11-15 18:43:59 1379
原创 线程的特殊状态探寻
1. 因System.in而阻塞的线程在 System.in.close()执行之后的状态是什么源代码如下class IOBlocked implements Runnable { private InputStream in; public IOBlocked(InputStream is) { in = is; } public void...
2019-11-07 10:36:09 110
原创 关于能否在线程run方法中设置其为守护线程
答案是否定的,看源码如下:public final void setDaemon(boolean on) { checkAccess(); if (isAlive()) { throw new IllegalThreadStateException(); } daemon = on;}...
2019-10-29 17:43:45 263
转载 Linux vim编写程序时出现高亮字符,如何取消?
在使用Linux vim编写程序时,经常由于误操作,导致程序中出现高亮字符(如下图),今天就来和家分享一下如何取消高亮显示?在“命令模式”下输入“:nohl”(如下图),再按回车,便可以取消高亮显示。# !/bin/bashecho "user=$USER"echo "path=$PATH"A=100echo "A=$A"unset Aecho "A=$A"rea...
2019-10-26 14:56:29 451
原创 如何查看Linux中是否有以源码安装的应用,如redis,mysql
Linux应用安装有rpm包安装和使用源码安装的方式,检测是否有以rpm安装的某个应用,直接用rpm命令就可以了,但是以源码安装的应用,采用源码包安装的应用,是无法通过rpm包来检测的:这里我们有两种方式去检测是否有该类应用安装在linux上:1.使用whereis命令,这里以检测是否安装了redis为例 安装redis后,会有两个bash命令,redis-cli, ...
2019-10-26 11:18:50 245
原创 drwxr-x-w-. 4 507 509 4.0K 9月 4 2018 wukong linux中 507和509 是什么回事?
第一个数字507出现原因:表示该目录的所有者,不存在了第二个数字509出现原因:表示该目录的所有者所在的组,不存在了
2019-10-25 15:21:23 183
转载 linux 命令终端提示符显示-bash-4.1问题解决
转载自https://blog.csdn.net/jiedao_liyk/article/details/78470498造成这样的原因:与这个用户有关环境变量没了,有关的文件被删除(.bash*)解决方法:##首先切换到故障用户su - test##复制对应的文件(不要用root直接复制,否则复制过去的东西属主,数组都是root的)-bash-4.1$ cp /etc/...
2019-10-25 15:14:24 262 1
原创 关于springBoot项目采用外部tomcat加载的问题
问题描述:外部tomcat无法加载springBoot启动类我的验证过程:1.第一步检查pom配置,确保不采用springBoot内置的tomcat<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <...
2019-05-06 13:10:08 1305
原创 ByteBuffer 操作心得
1.每当要向里面写东西的时候,要先执行clear()readBuffer.clear();SocketChannel channel = (SocketChannel) key.channel();//这里执行的是对byteBuffer的写操作int len = channel.read(readBuffer);2.当要读的时候,要先执行flip()this.readB...
2019-04-28 21:12:41 774
原创 聚集索引,非聚簇索引,辅助索引
聚簇索引:B+树存储的索引叶子节点,带有表数据行(每张表有且仅有一个聚簇索引),一般会根据主键id构建聚集索引,如果没有主键,那么会根据非空唯一的列创建聚集索引,如果连非空唯一的列都没有的话,那么会使用一个隐藏列构建聚集索引非聚簇索引:B+树存储的索引叶子节点,带有表数据行的地址,而不是真实的表数据辅助索引:非主键的列生成的索引,其叶子节点,会存储主键的id,使用该索引作...
2019-04-23 23:37:56 1044 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人