![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 56
冰霜秋月
这个作者很懒,什么都没留下…
展开
-
JSP+Servlet使用jspsmartupload实现文件上传至服务器
1.下载一个jspsmartupload.jar,将其复制到eclipse的WEB-INF/lib目录下。 2.更改JSP页面的编码为gbk。 3.表单的form属性里添加ENCTYPE=”multipart/form-data” 4.获取JSP表单的值前先在Servlet里添加下列代码 5.servlet获取使用jspsmartupload的JSP的表单的值。 在servlet里也要原创 2017-12-24 19:11:02 · 8447 阅读 · 0 评论 -
Spring的AOP的开发的AspectJ配置
bean.xml配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="h原创 2018-07-13 21:29:27 · 168 阅读 · 0 评论 -
Hibernate查询之get和load的区别
一、.从返回结果上对比load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常 get方法检索不到的话会返回null二、.从检索执行机制上对比get方法和find方法都是直接从数据库中检索 ,而load方法的执行则比较复杂 ■ 首先查找session的persistent Context中是否有缓存,如果有则直接返回 ■ ...原创 2018-07-13 21:07:17 · 299 阅读 · 0 评论 -
hibernate框架的配置文件的基本配置
一、配置hibernate.cfg.xml<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hib...原创 2018-07-13 20:55:27 · 220 阅读 · 0 评论 -
使用ThreadLocal+filter实现JDBC的事务处理
一、首先创建一个使用单例模式的ConnectionContext类public class ConnectionContext { /** * 构造方法私有化,将ConnectionContext设计成单例 */ private ConnectionContext(){ } //创建ConnectionContext实例对象 ...原创 2018-06-22 21:31:49 · 543 阅读 · 0 评论 -
使用ThreadLocal实现对JDBC的事务处理
一、准备工作 在应用ThreadLocal对JDBC的事务处理前,可以先在项目中导入数据库连接池的jar包,然后创建c3p0-config.xml并配置。二、创建使用ThreadLocal的事务处理工具类public class JDBCUtils3 { private static DataSource dataSource=null; private stati...原创 2018-06-20 20:52:34 · 939 阅读 · 0 评论 -
Java多线程之死锁
一、死锁介绍在Java中,一个对象可以有synchronized方法或别的加锁机制来保证线程安全,线程是可以阻塞的,假如第一个线程在等待另一个线程,而后者又在等待别的线程,这样一直下去,直到这个链条上的线程又在等待第一个线程释放锁。这就造成了线程之间相互等待的连续循环,没有哪个线程能够继续,这被称之为死锁。二、死锁产生的必要条件互斥条件:指进程对所分配到的资源进行排它性使用,...原创 2018-05-20 11:23:25 · 174 阅读 · 0 评论 -
Java多线程之实现方式
一、介绍多线程的好处是解决了一个进程能同时执行多个任务的问题和提高了资源的利用率,缺点是增加cpu的负担、引发了线程安全问题、降低了一个进程中线程的执行概率、出现了死锁现象等,尽管多线程有一定的缺点,不过总的来说多线程的实现是利大于弊的。二、多线程的实现(1)实现Runnable接口 下面以一个简单的多窗口售票程序来演示实现Runnable接口的多线程的实现public ...原创 2018-05-19 20:24:51 · 117 阅读 · 0 评论 -
Java装箱拆箱之Integer和int的区别
面向对象的Java,为了编程的方便为每一个基本数据类型都引入了对应的包装类型,提供了拆箱和装箱的语法糖,而int的包装类就是Integer。一、基本区别Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。二、其他区别public static void main(String[] args) { int s=1; Integer aInteger =1; ...原创 2018-04-25 21:16:59 · 195 阅读 · 0 评论 -
多线程之生产者消费者模式的实现
在实际的开发工作中,会有这样的情节:某个模块负责生产数据(产品),而这些数据由另一个模块负责消费(此处的模块是广义的,可以是类、方法、线程、进程等)。在这里,负责生产数据的模块就是生产者,而负责处理这些数据的就是消费者。下面通过一个简单的例子说明1.要生产和消费的产品public class Product{ private String name;//名字 private double pr...原创 2018-04-24 20:42:17 · 701 阅读 · 0 评论 -
分析HashMap实现原理
1.HashMap的数据结构HashMap的数据结构采用的是哈希表的方式,不过HashMap的哈希表是由数组+链表组成的,既规避了数组的插入和链表的查询等操作慢的缺点,由很好的结合了各自的优点,使得HashMap的数据的查询和插入都快。另外HashMap采用的是以“桶”的方式对其数据进行存储,通过hashcode()计算Key相同的entry会被放到同一个“桶”内,也就是数组位置相同。HashMa...原创 2018-04-06 18:59:04 · 115 阅读 · 0 评论 -
Java对象序列化
1.说明所有分布式应用常常需要跨平台,跨网络,因此要求所有传的参数、返回值都必须实现序列化。而对象序列化包含序列化和反序列化二部分,序列化是把Java对象转换为字节序列的过程,反序列化是把字节序列恢复为Java对象的过程。2.用途对象序列化主要有二种用途,一个是把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中,也叫持久化对象;另一个是在网络上传送对象的字节序列,也叫网络传输对象。3.实现序...原创 2018-04-05 16:43:39 · 1733 阅读 · 0 评论 -
ConcurrentHashMap原理解析
一、ConcurrentHashMap的引入HashMap是非线程安全的,Hashtable是线程安全的,但是由于Hashtable是采用synchronized进行同步,相当于所有线程进行读写时都去竞争一把锁,导致效率非常低下。有没有一种既能保证效率,又能保证的线程安全的机制呢?Java提供了ConcurrentHashMap类,ConcurrentHashMap代替同步的Map(Collect...原创 2018-04-08 11:43:31 · 742 阅读 · 0 评论 -
抽象类,接口的特点以及类、抽象类、接口的关系
先前对抽象类和接口的特点不是很清楚,而抽象类是对类的抽象,而接口是功能的集合,所以理解二者的特点以及在继承和实现方面很重要,所以专门对二者进行了总结,具体如下:1.接口和抽象类一样不能实例化,使用interface关键字表示接口,接口是功能的合集。接口里只能有常量和抽象方法,不能有构造方法,代码块,变量,普通方法等。2.类在使用implements关键字实现接口时,必须将接口中的抽象方法都实现,如...原创 2018-03-22 20:32:11 · 591 阅读 · 0 评论 -
spring boot之使用spring data jpa的自定义sql
spring data jpa介绍PA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate,...原创 2018-07-16 09:21:35 · 21077 阅读 · 2 评论