- 博客(30)
- 资源 (7)
- 收藏
- 关注
原创 Synchronized与ReentrantLock
Synchronized与ReentrantLock从java锁的类型来说,阻塞对应的就是悲观锁,自旋对应的就是乐观锁。在java中乐观锁主要的实现方式就是CAS操作.相同点:1、两者都是加锁方式同步,都是阻塞式的同步,如果一个线程获得了锁,其他访问该同步块的线程都必须阻塞在同步块外等待,而进行线程的阻塞和唤醒的代价很高,需要用户态和内核态的切换(因为线程的调度是在内核态进行,也就是通过操作系统)2、都是可重入锁,同一个线程再次获得锁不会出现死锁,每进入一次,锁计数器自增1。计数器下降到0才
2020-06-28 21:43:21
2225
原创 Java基础-动态代理
一、代理模式简介给某一个对象提供一个代理,并由代理对象来控制对真实对象的访问。代理模式是一种结构型设计模式。根据代理类的创建时机和创建方式的不同,可以将其分为静态代理和动态代理两种形式:在程序运行前即编译时就存在的代理类是为静态代理在程序运行时根据需要动态创建代理类及其实例为动态代理静态代理,必需手动创建N个代理类,这显然让人相当不爽。动态代理则可以简单地为各个主题类分别生成代...
2019-12-19 16:58:18
216
原创 Java基础-反射机制
一、什么是反射: 反射是Java的特征之一,是一种间接操作目标对象的机制,核心是JVM在运行的时候才动态加载类,并且对于任意一个类,都能够知道这个类的所有属性和方法,调用方法/访问属性,不需要提前在编译期知道运行的对象是谁,他允许运行中的Java程序获取类的信息,并且可以操作类或对象内部属性。程序中对象的类型一般都是在编译期就确定下来的,而当我们的程序在运行时,可能需要动态的加载一些...
2019-12-18 17:35:33
226
原创 Java多线程(四)
非线程安全场景实例:public static int count = 0; public static void main(String[] args) { for (int i = 0; i < 2; i++) { new Thread( new Runnable() { ...
2019-08-24 17:35:53
219
原创 Java多线程(三)
一、为什么要用线程池?1.减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。2.可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个...
2019-08-01 16:23:27
222
原创 Java多线程(二)
一、实现线程的方式:1、继承Threadpublic class MyThread extends Thread{ private static int num = 0; public MyThread(){ num++; } @Override public void run(){ System.out.pri...
2019-08-01 12:00:10
167
原创 Java多线程(一)
一、基本概念:1 线程:进程中负责程序执行的执行单元 线程本身依靠程序进行运行 线程是程序中的顺序控制流,只能使用分配给程序的资源和环境2 进程:执行中的程序,一个进程至少包含一个线程3 单线程:程序中只存在一个线程,实际上主方法就是一个主线程4 多线程:在一个程序中运行多个任务,目的是更好地使用CPU资源(指的是这个程序...
2019-07-31 17:48:50
169
原创 Mybatis整合ehcache
目录1.SqlMapConfig.xml中开启二级缓存2.导入相关jar包3.UserMapper.xml中配置cache的type属性4.在classpath下加入ehcache.xml配置文件缓存都是实现了Cache这个接口。1.SqlMapConfig.xml中开启二级缓存<!-- 全局配置参数 --> <settings> <...
2018-09-22 22:40:34
475
原创 Mybatis学习总结(五)---缓存
目录mybatis查询缓存一级缓存二级缓存一级缓存工作原理二级缓存工作原理开启mybatis二级缓存1.编写SqlMapConfig,配置二级缓存2.编写UserMapper.xml,开启二级缓存3.调用pojo类实现序列化接口缓存中重要的属性禁用二级缓存刷新缓存(就是清空缓存)二级缓存应用场景二级缓存局限性mybatis查询缓存My...
2018-09-20 17:17:30
254
原创 Mybatis学习总结(四)---一对多映射
例子:承接上文:https://blog.csdn.net/aKuang_JH/article/details/82765030创建house表,一个用户有多个房子,所以一个用户对应多条房屋信息。以下sql查询出用户和所在部门信息以及其房屋信息 SELECT user.*, dept.deptname, dept.description, house...
2018-09-19 21:59:00
372
原创 Mybatis学习总结(三)---resultType、resultMap和延迟加载
实现一对一查询resultType:使用resultType实现较为简单,如果pojo中没有包括查询出来的列名,创建一个pojo类(VO),继承查询字段较多的po类,再增加需要的属性,即可完成映射。如果没有对查询结果有特殊要求建议使用resultType作用:将查询结果按照sql列名pojo属性名一致性映射到pojo中场合: 常见一些明细记录的展示,比如用户购买商...
2018-09-18 22:16:42
419
原创 Java异常
Java异常Java提供了异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。Throwable类是Java异常类型的顶层父类,一个对象只有是 Throwable 类的(直接或者间接)实例,他才是一个异常对象,才能被异常处理机制识别。JDK中内建了一些常用的异常类,我们也可以自定义异常...
2018-09-13 10:25:33
214
原创 Mybatis学习总结(二)---dao层开发
mybatis和hibernate本质区别和应用场景hibernate:标准ORM框架(对象关系映射),不需要程序写sql,sql语句自动生成了。应用场景:适用于需求变化不多的中小型项目,比如后台管理系统erp、orm、oa…mybatis:专注sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全的ORM框架,虽然程序员自己写sql,mybat...
2018-09-13 10:20:25
386
原创 Mybatis学习总结(一)---快速搭建框架实现增删改查
Mybatis基础mybatis是apache下的顶级项目让程序主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要的sql语句mybatis可以向prepareStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射) 框架搭建步骤工程目录结构:...
2018-09-10 22:21:46
359
原创 字符串的模式匹配(Java实现)
字串的定位操作通常称做模式匹配,是各种串处理系统中最重要的操作之一。本文主要介绍两种常用的实现算法: 1、暴力匹配 2、KMP算法1.暴力匹配 时间复杂度为O(n*m);n为主串长度,m为模式串长度 算法的基本思想: 从主串的起始位置(或指定位置)开始与模式串的第一个字符比较,若相等,则继续逐个比较后续字符;否则从主串的下一个字符再重新和模式串的字符比较。依次类推,直到模式串成功...
2018-07-09 23:16:02
761
原创 SSH框架整合返回Json数据
项目结构:框架整合所需jar注:xwork-core-2.1.6选择2.1.6版本内含SpringUtil.classpackage cn.ddj.dao;import java.util.List;import cn.ddj.entity.Custom;/** * @Description:部门实体类 * @author:20155805邝家豪 * @date 2018年6...
2018-07-03 12:16:37
2341
原创 Spring Ioc与Aop注解方式配置
引入需要的spring.jar:项目结构:@Repository、@Service 和 @Controller。在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。主要代码:1、CustomerServiceImpl实现类:三种注入方式package service.imp...
2018-07-03 11:36:01
820
原创 Spring IOC与AOP介绍
Spring IoC 控制反转或叫依赖注入DI.IOC:控制反转主要强调的是程序之间的关系是由容器控制的,容器控制对象,控制了对外部资源的获取(我们习惯于用new关键字来创建对象,再通过对象来调用它的方法。对于我们来说,这是再正常不过的了,可是如果此时我们的需求发生了一点改变,我们就不得不修改源代码,这就是我们常讲的“硬编码(hard-coding)”,而修改源代码是程序设计的大忌,这违...
2018-07-03 11:14:23
577
原创 Hibernate分页+条件查询
分页工具类PageInfopackage cn.hibernate.util;import java.util.List;import javax.persistence.criteria.CriteriaBuilder.In;/** * @Description:部门实体类 * @author:20155805邝家豪 * @date 2018年4月2日上午9:25:00 */...
2018-06-23 19:03:54
1154
原创 Hibernate关联映射(一对多双向关联)
实现:配置Dept(部门)到Emp(员工)的一对多关联操作:增加部门同时增加部门下的员工1、Dept类:省略getter、setter、构造方法public class Dept implements java.io.Serializable { // Fields private Integer deptNo; private String deptName; private Str...
2018-06-23 00:26:01
296
原创 8086CPU寄存器
数据寄存器(通用寄存器):是用来暂时存放计算过程中所用到的操作数、结果和信息AX、BX、CX、DX可以称为数据寄存器,这4个16位寄存器又可分别分成高8位(AH、BH、CH、DH)和低8位(AL、BL、CL、DL)ax——accumulate register——累加器bx——based register——基地址寄存器cx——count regis
2018-06-22 18:01:13
354
原创 Hibernate框架基础配置和使用(2)
在配置1基础上,为了简化对其他数据表对应的实体类的持久化操作,可以在项目中创建一个BaseDao,将数据的增、删、改、查等操作封装其中。方法:基于反射机制编写BaseDao<T>.1、创建BaseDao接口package cn.hibernate.dao;public interface BaseDao<T> { //接口里只有方法名,没有方法体 //通...
2018-06-22 17:54:03
234
原创 Hibernate框架基础配置和使用(1)
JDBC缺点:1. 编写的SQL语句很长,不仅繁琐还容易出错。Sql语句硬编码到java代码中,如果修改,需要重新编译java代码,不利于系统维护。2. 读取数据时,需要编写多条getString()或getInt()语句从数据库取出各个字段,不仅枯燥,而且工作量巨大。3.数据库连接,使用时创建、不使用的时候释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费。使用
2018-03-29 15:12:37
340
原创 Jquery图片放大
实现目的:1.鼠标悬浮在图片上,图片放大,并显示对应信息。2.点击跳转页面,显示对应信息,购买增加表格记录。效果图:图片放大 图1-1
2017-09-26 10:40:02
604
原创 Jquery动态表格
实现目的:1添加新纪录弹出DIV表单,要求用户输入相应的字段信息。点击保存自动关闭后会在表格最后追加一行刚才的信息。2.点击编辑时,会弹出一个div表单,要求用户对现有记录进行修改操作。关闭后表格更新信息。3.点击删除操作会弹出警告,问用户是否真的删除,确定后记录才删除(加批量删除)初始效果图:初始 图1-1添加新纪录 图1-2编辑信
2017-09-26 10:09:07
1463
原创 Servlet进阶API---过滤器Filter
Filter 过滤器概念: 过滤器就是阻挡某些事件的发生。在Web用用程序中,过滤器是介于Servlet之前,即可以拦截、过滤浏览器的请求,也可以改变对浏览器的响应。他在服务器端与客户端起到了一个中间组件的作用,对二者之间的数据信息进行过滤。当客户端浏览器发起一个请求时,服务器端的过滤器将检查请求数据中的内容,他可改变这些内容或者重新设置报头信息,再转发给服务器上被...
2017-03-18 23:01:40
664
原创 JavaBean的作用
javaBean 编辑JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,long和class方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 的属性。javaBean在MVC设计...
2016-11-14 23:15:05
25642
2
原创 JSP+Servlet+JavaBean+JDBC实现用户登录,及成绩查询
JSP+Servlet+JavaBean+JDBC实现用户登录,及成绩查询
2016-11-13 20:00:48
23912
44
spring3.2.13Ioc与Aop依赖的jar
2018-07-03
jquery-1.6.3.js
2017-09-26
log4j-1.2.15.jar
2017-03-18
javax.servlet-5.1.12.jar
2017-03-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人