自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 java多线程思路整理

别人的多线程:你的多线程: 这几天看了看多线程,虽然还是一脸懵,不过已经比之前有头绪多了,之前看的关于线程的知识都比较散,现在希望从自己的理解出发,将这些线程相关的东西连成一条线。文章以思路为主,整理我自己关于线程的逻辑思考,设计具体的实现不多,都给出了可参考的博文,如有不对请指正 使用多线程是为了提高效率,让多个线程并行地执行,而多线程主要要解决的问题就是要让并发的线程...

2019-02-26 21:32:31 303

原创 spring整合mybatis

1.将SqlSessionFactory交给spring管理(单例模式),并由spring创建SqlSession对象2.由spring来生成mapper代理对象(扫描包,mapper.xml工作都给spring完成)开始整合:一.pom依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww...

2019-02-26 15:16:01 163

原创 mybatis中结果映射的几种情况的整理

对mybatis的结果映射做个整理,只针对resultType/resultMap讨论,忽略sql语句的实现1.将查询出的单行单列结果映射到java对象中的字段例1:查询总记录数,返回一个Integer类型的对象即可mapper.xml中,resultType=“Integer”;mapper接口中,返回值为Integer即可例2:查询某个用户的用户名username,返回一个java类...

2019-02-26 14:59:04 2192

原创 spring声明式事务控制的使用

事务的通知使用在业务层中,用spring AOP实现声明式事务控制,即动态的将事务相关的代码添加到业务层的所有代码中。声明式事务控制要和AOP的要求结合起来比较好记。下面是配置声明式事务控制的思路:1.声明式事务控制依靠AOP完成,因此,需要配置一个aop:config,而中间只需要一个标签:<aop:config> <aop:advisor advice-ref=“” ...

2019-02-24 20:54:00 208

转载 Spring AOP的概念及具体配置

AOP:aspect oriented programming 面向切面编程实现的功能:动态的增强一个方法(先拦截该方法,再增强),可以在方法执行的各个阶段加入一些另外的方法来增强原有的方法。概念:1.横切关注点:要动态增强的功能就是关注点,就是增强的代码所在的方法2.连接点:类中的方法,字段等都可被称为连接点。连接点都有可能被动态增强,即可以被切断,变成切点3.切入点:要被拦截的方法,...

2019-02-24 20:05:00 108

转载 JVM垃圾回收Garbage Collection

https://www.cnblogs.com/whgk/p/6138522.htmlhttps://www.cnblogs.com/xiarongjin/p/8309839.html一.要回收的对象所在1.JVM运行时数据区如下,要回收的是无用的对象,对象存在于下图的堆中堆中分为新生代,老年代,永久带,如下图1.新生代主要是用来存放新生的对象。一般占据堆的1/3空间。由于频繁创...

2019-02-23 15:38:48 125

原创 一个类中的两个方法都加了同步锁,多个线程能同时访问这个类的两个方法吗?

看到这个问题第一反应是不懂,然后查询了网上的一些说法,感觉略有不一。细看之下发现大家对这个问题的分析角度不太一样,就会出现不同的结果,在这里记一下我收集来的不同的角度和自己的例子,感觉这个题目还是蛮有意思的。首先,同步锁有两种,JVM的synchronized和JDK的Lock;然后,多个线程访问这个类的两个方法也有不同的形式,例如访问这个类的两个方法是通过同一个类的实例对象来访问还是通过不同...

2019-02-22 18:47:33 8690 5

原创 SQL连接查询

1.等值连接 : 关键字INNWER JOIN…ON2.自然连接 : 关键字NATURAL JOIN…ON 3.等值连接和自然连接的区别 : 自然连接是去掉重复列的等值查询4.外连接 :内连接中,查询出的列只存在相互匹配的行,不匹配的行不会出现,外连接则会出现这些行。4-1.左外连接 :关键字LEFT OUTER JOIN 左边表的列会出现全部的行,不管匹配与否4-2.右外连接...

2019-02-14 21:03:51 216

原创 ssm访问静态资源

只说一种我自己用的方法:在web.xml中配置了拦截所有路径之后,再在springmvc中使用mvc:resources标签记住不能和mvc:default-servlet-handler标签一起用且需要开启<mvc:annotation-driven />注解<mvc:resources location="/WEB-INF/ui/js/“ mapping="js/...

2019-02-08 20:35:03 1231

原创 ssm+wangeditor图片上传

1.在form中,提交enctype=“multipart/form-data”的数据时,需要对springmvc对multipart类型的数据进行解析。在springmvc.xml中,配置multipart类型的解析器:<bean id="multipartResolver"class="org.springframework.web.multipart.commons.Common...

2019-01-28 23:25:03 608

原创 ssm业务层与扩展类对象的配合使用

业务层的作用业务层不只是单纯的调用持久层,不能只是要什么数据就从数据库取,取出来就返回给表现层去展示。如果总这样的话,数据库中表描述的字段不够,表现层要展示的内容多余数据库表的内容,就会很苦恼,想着去修改数据库表。例如,取出来一个食物,里面有保质期,如果表现层要展示这个食物有没有过期,那数据库表就要有这个有没有过期的标签,没有的话就无法展示。其实,数据库表不用增加这个字段,这时候,需要一个食...

2019-01-19 20:55:37 243

转载 java对象的克隆

摘取至https://blog.csdn.net/ztchun/article/details/79110096一.对象赋值如果直接对象赋值,例如:stu2 = stu1那么情况将是:栈中两个对象名称指向同一块堆内存。更改任何一个对象中的值都会导致另一个的值改变,因为就是同一块内存空间。二.浅克隆被复制的类需要实现Clonenable接口(不实现的话在调用clone方法会抛出CloneNo...

2019-01-15 16:40:10 121

原创 乐观锁,被悲观锁与无同步方案

一.乐观锁乐观:总是认为自己在访问数据的时候不会遇上其他人来修改数据,因此不加锁,不会把别人阻塞住,即使用非阻塞同步。1.CAS机制(compare and swap):使用三个操作数,分别是内存地址A,预期原值B,新值C。我理解的过程如下,如果一个线程带着新值C想要修改原值B,则该机制会先比对内存地址A中的预期原值,如果这个值是B,那么就允许这个线程把B值修改为C。如果有多个线程同时进来...

2019-01-13 17:59:18 236

原创 分段锁的理解

总是记不清分段锁与ConcurrentHashMap的实现原理,今天来用自己的理解类比一下ConcurrentHashMap中分段锁的实现。ConcurrentHashMap使用了分段锁来保证线程安全,效率比起使用synchronized的HashTable要高的很多。每个集合都可以看作是一个存储东西的房子,HashTable与ConcurrentHashMap存储的都是HashEntry数组...

2019-01-13 15:30:36 18122 4

原创 struts2登陆拦截器问题

Struts2登陆拦截器问题:用了那么久的登陆拦截器都没问题,可以正常的拦截。今天在试网页的bug时发现,如果多次注销然后登陆,会导致登陆拦截器出问题。具体表现为:登陆了之后往session中存入了登陆标记,但是在访问一些有登陆拦截器的action时仍然被拦截且跳出了登陆页面让我登陆。经过调试发现这个时候session里是有登陆标记的,不知道什么原因拦截器又拦截了。。。。一直不断的需要登陆,在调...

2019-01-11 22:48:54 163

转载 java ssh上传视频并显示缩略图以及视频在网页中的播放

一.上传视频 使用以下htm标签即可<form name="uploadForm" method="post" enctype="multipart/form-data" action="xxx"</form&gt

2019-01-10 09:45:12 1748 1

原创 ssh框架优化配置文件位置

优化我们项目中的配置文件信息及位置可以帮助我们构建更清晰的项目结构,也更方便寻找指定的配置文件。先来看看各配置文件的位置:spring主配置文件:applicationContext.xml,默认在WEB-INF目录下struts2主配置文件:struts.xml,默认在类的根路径下hibernate主配置文件:hiberntae.cfg.xml,默认在类的根路径下web项目配置文件:w...

2019-01-09 11:28:36 403

原创 JUC包中的同步器(AQS)

AbstractQueuedSynchronizer:同步器,用来实现线程间的协作一.CountdownLatch       内部维护一个计数器,当每次调用countDown方法的时候,计数器都会-1,减到0时,所有因为调用了await()而等待的线程都会被唤醒可以用来让main线程等待,防止其他线程没结束主线程就结束了。二.CyclicBarrier       内部维护一...

2018-12-28 17:06:31 273

转载 JDBC连接mysql步骤

步骤:1.加载mysql连接驱动(Driver)到JVM类中 try { Class.forName("com.mysql.jdbc.Driver") ; } catch (Exception e) { System.out.println("数据库驱动加载失败!"); e.printStackTrace(); } //加载成功后,会将Driver类的实...

2018-12-27 10:14:39 138

原创 ssh浏览器不允许访问本地资源的解决

做了个上传图片的系统,回显的时候发现地址明明写对了却得不到图片,浏览器报错:Not allowed to load local resource不允许访问本地资源。这是浏览器为了安全不让直接访问本地的文件,可以通过修改tomcat的server.xml来配置虚拟映射,让我们能通过服务器访问到本地资源在Host标签内添加Context标签:<Host appBase="webapp...

2018-12-24 23:50:53 3597

原创 Hibernate中的分页查询

一、hibernate分页查询:方法:setFirstResult:设置查询开始的记录 setMaxResults:设置每次查询的条数/** * 查找全部文章的重载 * 分页查询 * @param currentPage 当前页面 * @param maxResults 每页最大条数 * @return */ public List<Article&g...

2018-12-23 21:18:26 1619

原创 SSH框架前后端数据交互——ajax+json

二、后端action——>前端页面1.struts2将数据放入值栈,前端页面使用el表达式获取,上面对应第一种方法2.返回json数据到前端,对应上面第二种方法

2018-12-21 18:09:03 4255 1

原创 SSH框架前后端数据交互

一、前端页面——>后端action1.属性驱动与模型驱动2.ajax请求

2018-12-21 16:36:18 6180

转载 Java ssh 上传文件,chrome报错 连接被重置

chrome报错,Safari就可以。。。解决:在struts.xml中设置文件上传最大值<!-- 文件上传最大值100M --> <constant name="struts.multipart.maxSize" value="104857600" />...

2018-12-20 23:01:47 493 1

原创 Struts2模型驱动将实体类对象自动压入值栈栈顶的问题

学习和使用ssh框架也不少的时间了,刚学习时觉得框架原理繁多而提不起劲,到后来使用框架做自己的网站项目时不断踩坑的咆哮哀嚎,这其中的过程让我感觉到最好的学习就是实践。在实践时,如果不了解框架那些底层的原理,那么我们时时刻刻会踩中坑。例如struts2中action自动将模型(实体类实例)放入值栈,栈顶的实体类实例的各个属性总是null,通过不断的挠头和查阅才发现模型驱动的ModelDriven接口...

2018-12-20 15:26:18 424 2

原创 数据库——范式

       在上学校数据库的课程时,总是觉得太抽象,或者用不到。直到自己做了个小项目,涉及到了数据库表的设计时,才发现这些东西的重要性。因此重新回顾了下数据库的范式,自己懂不算懂,要能整理好讲出来让别人也能懂才算懂一. 常用概念(术语)元组:数据库表中的一行就是一个元组分量:元组的某个属性键:表中可以唯一确定一个元组的某个属性(或属性组),键是元组的分量候选键:如果表中可以唯...

2018-12-20 12:16:56 673

转载 数据库原理——事务(特性,隔离界别,锁,协议等)

事务指满足ACID特性的一组操作,可以通过Commit提交,Rollback回滚一.ACID1.Atomicity原子性事务是不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。回滚时根据日志反向操作2.Consistency一致性事务执行前后保持一致性状态,所有事务对一个数据的读取结果都是相同的。例如:转账前A账户有3000,B账户有2000,无论怎...

2018-12-19 17:23:33 200

原创 Java tips

持续一些不容易被注意或者容易忘记的小点1.Integer.valueOf(123) :会先去缓存迟查找有没有当前对象,有就直接调用缓存池中的对象。Integer缓存池的大小为-128~1272.String Pool在java8之后从运行时常量池移到了堆3.Switch不能用long类型4.final关键字对于引用类型,不能改变引用,但是引用的对象本身可以改变5.静态变量也叫类...

2018-12-19 16:23:34 87

原创 抽象类与接口总结

零零散散看了无数遍抽象类与接口的区别却总是也记不住,今天总结一下之前看过的抽象类与接口1.抽象体        抽象类和接口实际都是属于抽象体,课上老师经常说,抽象就是表达一种事物所具备的通用的,共有的能力,包含的是一个抽象的概念,将一个事物抽象出来。从这个语境上看,既然是抽象出来的,那就没有具体的细节,那在体现在程序中就是不能够被直接实例化。即:抽象体是一组行为特征的集合。 ...

2018-12-19 15:44:44 247

原创 Java string总结

整理一下java String的基础知识,整合了一些网上大佬们的笔记资料1.String被声明为最终的,不可被继承,内部由字符数组存储数据,也被声明为最终的决定。因此字符串也就不可变。 2.不可变:              1)用于存储散列值               2)可以使用字符串池               3)用字符串做参数安全性高           ...

2018-12-19 14:45:32 81

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除