- 博客(66)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
转载 Spring事务传播性与隔离性
一、事务传播性什么是事务的传播性事务的传播性一般在事务嵌套时候使用,比如在事务A里面调用了另外一个使用事务的方法,那么这俩个事务是各自作为独立的事务执行提交,还是内层的事务合并到外层的事务一块提交那,这就是事务传播性要确定的问题。下面一一介绍比较常用的事务传播性。首先奉上事务拦截器TransactionInterceptor事务处理流程图:事务的传播属性1、PROPAGATION_REQUIRED...
2018-04-13 13:35:29 307
转载 我曾七次鄙视自己的灵魂
第一次,当它本可进取时,却故作谦卑;第二次,当它在空虚时,用爱欲来填充;第三次,在困难和容易之间,它选择了容易;第四次,它犯了错,却借由别人也会犯错来宽慰自己;第五次,它自由软弱,却把它认为是生命的坚韧;第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。...
2018-04-09 14:07:11 244
原创 线程池饱和策略附上测试代码
问:线程池中线程用完了怎么办?答:放到队列中问:那队列也用完了呢?。。。。下面就是饱和策略登场了首先设置饱和策略的方式,就是下面这个了executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());1、Abort策略 这个也是线程池默认的饱和策略,该策略是抛出一个RejectedExecution...
2018-04-09 00:01:13 396
原创 小心linux自动杀死进程的操作(kill -9 pid)
这两天部署在linux上的程序老是莫名其妙的自动停止而且没有任何日志打印,纠结好长时间后发现linux的message.log日志中有一句,如下:因为内存占用过多会杀死一个占用最多的进程Apr 2 21:44:01 shanyao kernel: Out of memory: Kill process 14268 (java) score 378 or sacrifice childApr ...
2018-04-02 22:47:25 10117 3
原创 Linux安装Tomat
#下载wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.28/bin/apache-tomcat-8.5.28.tar.gz#解压tar -zxvf apache-tomcat-8.5.28.tar.gz#####修改tomcat端口1、打开tomcat配置文件#vi /usr/local/apache-tomcat/conf/se...
2018-03-19 16:45:32 260
原创 Linux上关于防火墙和端口
1、firewalld的基本使用启动: systemctl start firewalld查看状态: systemctl status firewalld 停止: systemctl disable firewalld禁用: systemctl stop firewalld 2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。...
2018-03-19 16:32:14 274
原创 Class.newInstance与同new的到对象的区别
先说一下区别1、使用newInstance可以解耦。使用newInstance的前提是,类已加载并且这个类已连接,这是正是class的静态方法 forName()完成的工作。newInstance实际上是把new 这个方式分解为两步,即,首先调用class的加载方法加载某个类,然后实例化。2、newInstance: 弱类型。低效率。只能调用无参构造。 ne
2018-01-26 23:11:12 10689 5
原创 Idea中Mybatis找不到mapper.xml
把映射文件放到scr/main/java中找不到mapper.xml在pom文件中添加 src/main/java **/*.xml
2018-01-03 22:24:51 1517
原创 线程退出的几种方式
使用volatile类型的域来保存取消状态因为volatile本身特性,每次修改都会立刻刷新到缓存中,这样就可以保证线程任务可以及时看到下面代码示例,在线程运行一秒后取消任务:public class PrimeGenerator implements Runnable{ private final List primes = new ArrayList<>(); private
2017-12-31 00:04:09 5857
转载 有状态和无状态的对象区别
最近在读《java并发编程实战》,看这个之前我还特意先看了《java并发编程艺术》不过读起来还是有点吃力,不只是翻译问题还是我理解能力问题,很多句子读不懂。记录一下遇到的一些基础知识的知识点以便以后查看。第一:基本概念: 1、有状态就是有数据存储功能。有状态对象(Stateful Bean),就是有实例变量的对象,可以保存数据,是非线程安全的。在不同方法调用间不保留任何
2017-11-20 12:56:09 806
原创 利用jstack查看线程运行状态
首先一段代码public class P173ThreadState { public static void main(String[] args) { new Thread(new TimeWaiting(),"TimeWaitingThread").start(); new Thread(new Waiting(),"WaitingThread").start(); //
2017-04-26 23:13:39 6981 1
转载 一个不错的线程讲解系列,记录下来以便学习(最近研究多线程以及并发)
http://www.cnblogs.com/skywang12345/p/java_threads_category.html
2017-04-26 11:33:37 311
转载 for循坏遍历list过程中remove某个元素出错,从源码角度解释
123456789101112public class Test { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add(2); Iterator iterator = list.iterator(); while(it
2017-04-24 18:32:11 492
转载 线程池,这一篇或许就够了
为什么用线程池创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率>例如:>>记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3>>如果T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了!>>正好,线程池缓存线程,可用已有的闲置线程来执行新任务,避免了T1+T3带来的系统开销线程并发数量过多,抢占系统
2017-04-20 09:32:40 287
原创 以Blob形式存取图片到Oracle
将图片存入Oracle数据库 public int writeBlob(String path,String id) throws SQLException, IOException{ Connection conn = null; PreparedStatement ps =null; conn = getConnetion();
2017-04-19 09:27:29 2707
转载 IntelliJ IDEA使用教程二 项目创建&Tomcat配置
一、创建一般的Java项目上一节中创建的是一个空项目,并没有什么用。二、设置编码每次新建一个项目都需要更改一下编码,目前还没找到好办法三、项目设置四、HelloWorl
2017-04-17 14:25:26 318
原创 抽象BaseAction对进行ModelDriven实现
package com.sinitek.product.action.base;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;import java.lang.reflect.ParameterizedType;import java.lang.
2017-04-17 13:53:10 554
原创 Struts2之ModelDriven的使用
Java代码 我们可以根据Action属性的不同将它分为两类:Field-Driven(属性驱动)Action和Model-Driven(模型驱动)Action。 一、Field-Driven(属性驱动)Action,Action拥有自己的属性,这些属性一般是Java的基本类型。表单字段直接和Action的属性对应。 二、实现了modelDriven接口可以在action中直接获得例如
2017-04-17 13:42:50 456
原创 又一个因为延迟加载出现的错误Hibernate:could not initialize proxy - no Session
今天利用Hibernate写一个Demo的时候遇到个错误解决,字面意思是没有session,郁闷了老半天,终于发现问题我要查询的数据与其他表有多对一的关联关系,但是延迟加载设置为lazy,也就是说当我使用这个关联数据时才会去查询,而这个时候session早已关闭,就出现了上面的错误。解决方法有三个: 1、把lazy设成false。这个是最简单的办法,个人认为也是比较笨的方法
2017-04-14 15:13:41 282
原创 org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleT
org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister at org.hibernate.persister.internal.PersisterFactoryImpl.create(PersisterFacto
2017-04-13 16:43:17 474
原创 java 大文件以二进制保存到数据库
一、创建表 oracle: create table baoxiandan ( id number(20) not null, fileName varchar2(200) not null, content blob, primary key(id) ); create sequence seq_baoxiandan; 二、Hibe
2017-04-11 15:32:46 1709
转载 Intellij IDEA的Hibernate简单应用
1、创建数据库及其表create database demo; use demo;CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(50) DEFAULT NULL, `password` varchar(50) D
2017-04-10 23:17:43 429
转载 junit单元测试的java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing问题解决办法
用junit进行单元测试的时候,突然就出现了以下错误:java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Class
2017-04-10 17:54:17 910
转载 SQL多表连接查询(详细实例)
本文主要列举两张和三张表来讲述多表连接查询。新建两张表:表1:student 截图如下:表2:course 截图如下:(此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键。)一、外连接外连接可分为:左连接、右连接、完全外连接。1、左连接 left join 或 lef
2017-04-09 22:27:00 264
转载 关于java的深克隆与浅克隆
1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 ⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有
2017-04-02 22:29:06 249
转载 java语言复制数组的四种方法
来源于牛客网的一道选择题:JAVA语言的下面几种数组复制方法中,哪个效率最高?A.for循环逐一复制B.System.arraycopyC.System.copyofD.使用clone方法效率:System.arraycopy > clone > Arrays.copyOf > for循环1、System.arraycop
2017-03-26 23:17:50 311
转载 写出float x 与“零值”比较的if语句
写出float x 与“零值”比较的if语句请写出 float x 与“零值”比较的 if 语句: const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x 不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“EPSINON应该是一个很小的值吧 因为计算机在处理浮点数的时候是有误差的
2017-03-26 23:08:22 673
转载 Spring @Configuration 使用
虽然 2.0 版本发布以来,Spring 陆续提供了十多个注解,但是提供的这些注解只是为了在某些情况下简化 XML 的配置,并非要取代 XML 配置方式。这一点可以从 Spring IoC 容器的初始化类可以看出:ApplicationContext 接口的最常用的实现类是 ClassPathXmlApplicationContext 和 FileSystemXmlApplicationConte
2017-03-22 16:32:04 276
原创 Bean的生命周期2
bean生成过程,图解生命周期在spring中,从BeanFactory或 ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就必须注意安全(Thread-safe)的议题,防止多个线程同时存取共享
2017-03-22 15:25:35 195
转载 BeanNameAware接口和BeanFactoryAware接口
迄今为止,所接触到的Bean都是“无知觉”的,就像黑客帝国中机械工厂里面“养殖”的人类,他们虽然能完成一定的功能,但是根本不知道自己在工厂(BeanFactory)中的代号(id),或者自己是在哪个工厂(BeanFactory的引用)中沉睡。所以,本节的目的就是要创造出一个尼奥一样的Bean,让他知道自己在工厂中的id和自己原来躺在哪个工厂中。这里,称之为,Bean对Spring有知觉。但
2017-03-22 12:54:28 419
转载 Spring IOC -bean对象的生命周期详解
生命周期执行的过程如下:1)spring对bean进行实例化,默认bean是单例2)spring对bean进行依赖注入3)如果bean实现了BeanNameAware接口,spring将bean的id传给setBeanName()方法4)如果bean实现了BeanFactoryAware接口,spring将调用setBeanFactory方法,将BeanFactory实例传
2017-03-22 12:44:40 378
转载 单例模式的七种写法
转载请注明出处:http://cantellow.iteye.com/blog/838473 第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){} public stati
2017-03-19 21:54:51 281
转载 Spring 事物机制总结
Spring两种事物处理机制,一是声明式事物,二是编程式事物声明式事物1)Spring的声明式事务管理在底层是建立在AOP的基础之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相
2017-03-19 21:47:32 178
转载 Spring中事务的传播行为
7个传播行为,4个隔离级别。Spring事务的传播行为和隔离级别[transaction behaviorand isolatedlevel]Spring中事务的定义:Propagation(key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。)有以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务
2017-03-19 17:25:51 188
原创 自动拆装箱
关于拆装箱可看:http://write.blog.csdn.net/postlist下面代码的打印结果:public class Test2{ public void add(Byte b) { b = b++; } public void test() { Byte a = 127; Byte
2017-03-18 17:30:24 325
转载 java中自动拆装箱
4.2 自动装箱和拆箱基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。虽然为您打包基本数据类型提供了方便,但提供方便的同时表示隐藏了细节,建议在能够区分基本数据类型与对象的差别时再使用。4.2.1 autoboxing和unboxing在Java中,所有要处理的东西几乎都是对象(Object),例如之前所
2017-03-18 17:29:05 355
原创 初始化类时的加载顺序
1.父类静态代码块 ( java虚拟机加载类时,就会执行该块代码,故只执行一次)2 .子类静态代码块 ( java虚拟机加载类时,就会执行该块代码,故只执行一次)3. 父类属性对象初始化4.父类普通代码块(每次new,每次执行 )5. 父类构造函数(每次new,每次执行)6.子 类 属性对象初始化7.子类普通代码块(每次new,每次执行
2017-03-18 17:09:00 270
转载 实例方法和类方法
前面提到成员变量可分为实例变量和类变量。同样,类中的方法也可分为实例方法和类方法。在方法前面加上static就成了类方法,例如:[java] view plain copypublic class Example { float a, b; void sum(float x, float y)
2017-03-18 16:43:17 562
转载 Java中堆内存和栈内存详解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器
2017-03-18 13:32:22 370
opt_win64_21最新
2018-08-08
怎么查看sychronized拿到的锁是那个对象的?
2017-11-23
负载均衡后全局变量每次取值都一样
2017-10-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人