- 博客(46)
- 收藏
- 关注
原创 图解java多线程设计模式-第三章 Guarded Suspension 模式
以下内容是我在阅读《图解Java多线程设计模式》一书中的总结和思考本章配图文字:等我准备好哦。 定义当不符合继续执行时,通过让线程等待来保证实例的安全性。 类的一览表 名字 说明 Request 存储信息数据的类 RequestQueue 存放Request实例对象,采用互斥方法来保证对Request实例对象操作时的线程安全 ClientTh...
2018-11-18 17:10:59
367
原创 图解java多线程设计模式-第二章 Immutable模式
以下内容是我在阅读《图解Java多线程设计模式》一书中的总结和思考本章配图文字是:想破坏也破坏不了。 定义实例对象的内部状态不会发生变化,也就是说不提供对外改变属性的方法(除了创建对象时初始化的方法外),那么这个类就是Immutable的,无需任何互斥操作都可以保证线程安全。 Immutable类的几个常见特征声明为final类:这样是为了生成子类并修改属性值的一种措施...
2018-11-18 16:01:47
259
原创 图解java多线程设计模式-第一章 Single Threaded Execution模式
以下内容是我在阅读《图解Java多线程设计模式》一书中的总结和思考本章配语是:能通过这座桥的只有一个人几个概念:SharedResource(共享资源):可以被多个线程访问的类,包含safeMethod和unsafeMethod。其中unsafeMethod就是在多线程环境下不安全的,需要同步的方法。 Single Threaded Execution模式:同一时间内只能让一个线程执...
2018-10-21 21:30:26
555
原创 图解java多线程设计模式-序章2 多线程程序的评价标准
以下内容是我在阅读《图解Java多线程设计模式》一书中的总结和思考安全性——不损坏对象对象损坏是指对象的状态违背了设计者的意愿,通常指对象字段的值并非预期值。 生存性——必要的处理能够被执行生存性是指无论什么时候,必要的处理都一定要被执行。如果发生死锁情况,那么生存性就很差了。。。 可复用性——类可重复利用这个。。。暂时没有理解 性能——能快速、大批量地...
2018-10-21 20:57:25
176
原创 图解java多线程设计模式-序章1 Java线程
以下内容是我在阅读《图解Java多线程设计模式》一书中的总结和思考何谓线程文中给出的解释是:正在执行程序的主体 线程的启动新线程的启动一定是调用start()方法,该方法主要是执行两步操作启动新线程 调用新线程的run()方法这里需要注意:public class Test(){ public static void main(String[] args) ...
2018-10-21 20:40:52
554
原创 Linux系统中一些常用命令的简单介绍
1.Windows和Linux的区别 a.linux严格区分大小写 b.linux中所有的内容以文件的形式保存,包括硬件 c.Linux不靠扩展名区分文件类型 d.Windows下的程序不能直接在Linux中安装和运行2.linux系统分区分区:把硬盘逻辑上分成几个不同的存储空间分区类型:主分区:最多只能有4个(磁道->扇区512KB 硬
2017-12-04 21:22:20
345
原创 Linux系统中安装JDK和Tomcat
第一步:导入安装包到Linux环境yum install -y lrzszrz(下载windows中的文件到Linux中)sz(上传Linux中的文件到Windows中)tar -zxvf ... 解压缩到/usr/jdk(自己创建jdk文件夹)下面第二步:配置环境变量(这里的路径是解压缩路径)vim /etc/profileexport JAV
2017-12-04 21:16:35
336
原创 Linux系统下安装Redis
1.在opt目录下下载wget http://download.redis.io/releases/redis-4.0.2.tar.gz(网上下载)或者可以从Windows系统中导入安装包到Linux系统yum install -y lrzsz(-y就是什么情况都是yes,这个命令是用来下载软件,用于两个系统间传递数据)rz(下载windows中的文件到Linux中)s
2017-12-04 21:13:56
328
原创 struts2的页面语言切换
页面语言切换用到的是I18nInterceptor拦截器jsp页面 English 中文 index page 对应的actionpublic class TestI18nAction extends ActionSupport{ private static final long ser
2017-11-12 17:22:40
375
原创 struts2的国际资源化文件
在Java中有个类 Locale Locale[] locales = Locale.getAvailableLocales(); for (Locale locale : locales) { System.out.println(locale.getDisplayCountry()+":"+locale.getCountry()+":" +locale.getDi
2017-11-12 12:11:14
342
原创 mybatis的动态sql语句
具体教程在mybatis的官网中有,这里只是一些小例子。动态sql语句在test中使用的是OGNL表达式trim在条件前添加where,条件后删除and select * from emp <!-- prefix 给sql语句增加前缀 prefixOverrides 覆盖前缀 suffix 给sql语句增加后缀
2017-11-11 18:08:13
257
原创 mybatis的鉴别列查询
在查询数据的时候,可以根据查询出来的数据来判断是否需要做进一步查询dept的mapper文件 <!-- 鉴别器列 column 用于鉴别的列 javaType 列值的类型 SALES部门查员工 --> <collection property="emps" column="deptno" sele
2017-11-11 17:20:55
586
原创 mybatis的结果集映射
结果集的映射: 1.自动映射-根据字段名和属性名 2.如果字段取了别名,会根据别名自动映射属性名 3.在setting中通过设置使用驼峰命名映射,前提是在配置文件中配有。具体可以上网搜 4.通过配置resultMap的形式进行映射情况一(映射结果封装到Map中):接口:pub
2017-11-11 17:06:13
618
原创 mybatis的多条件查询
多条件查询有好几种方式,这里主要介绍两种使用@Param来指定使用HashMap来传参使用@Param:接口:public List findEmpByMultiParams(@Param("lastName")String lastName, @Param("salary") double salary);mapper文件:这里要注意,{}中的字符串一定要跟
2017-11-09 23:33:52
564
原创 mybatis中select语句的模糊查询--${}与#{}
${}:相当于statement,直接拼sql语句如果parameterType是基本数据类型和String,是不会将{}里面的字符串当做parameterType的属性来解析,如果parameterType是HashMap或者自定义类型,就会将{}里面的字符串当成parameterType的属性来解析#{}:相当于preparestatement,相当于占位符?
2017-11-09 23:09:24
4011
原创 mybatis的insert语句
这里使用的Mapper接口的方式来处理接口:public interface EmpMapper { public void addEmp(Emp emp);}对应的mapper文件,注意这里的parameterType本来是要写完全限定名,但是由于做了别名,所以可以直接写emp insert into emp(empno,last_name,salary)
2017-11-09 21:53:33
6175
原创 Mybatis的数据库选择
如果想使用多个数据库,配置文件如下:这是数据库的properties文件############ mysql ############jdbc.driver = com.mysql.jdbc.Driverjdbc.url = jdbc:mysql:///hibernatejdbc.user = rootjdbc.password = 123############ orac
2017-11-09 21:45:34
2050
1
原创 TOMCAT一直加载不到文件,但是相应的webapps里面又有对应的文件存在
之前在做项目的时候,在自己的电脑上写代码,发现总是加载不到文件,例如:那时候找了很久都没有找到是什么原因,后来发现错误信息里面提示:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'productDao' defined in file [D:\LUKE
2017-11-07 17:58:51
2674
原创 eclipse中配置xml文件时没有提示,可以
一般来说,网络可用的时候eclipse会自动下载,如果没有可以自己配置来显示信息http://mybatis.org/dtd/mybatis-3-mapper.dtd首先找到本地文件,copy出来然后copy到一个文件夹中然后在eclipse中点击preference添加以上的Location是那两个文件的根目录Key type改成URIKe
2017-11-05 15:44:59
1106
原创 测试springMVC中的以对象形式接受前端传来的数据
首先建立POJO类public class User { private String name; private Integer age; private Address address; public User() { // TODO Auto-generated constructor stub } public String getName() { return n
2017-10-25 21:57:20
739
原创 springMVC中关于RequestMapping属性的介绍
@RequestMapping(value="/testParam",params={"username!=andy","age"}) public String testParam(){ System.out.println("testParam"); return SUCCESS; }以上的params是说URL中一定要有username和age的值,而且username的值不
2017-10-25 19:27:43
756
原创 创建一个SpringMVC小项目
导包/springMVC/WebContent/WEB-INF/lib/commons-logging-1.1.3.jar/springMVC/WebContent/WEB-INF/lib/spring-aop-4.3.7.RELEASE.jar/springMVC/WebContent/WEB-INF/lib/spring-beans-4.3.7.RELEASE.jar/spri
2017-10-25 19:01:41
367
原创 RESTful架构与SpringMVC框架的结合使用以及PUT、DELETE
步骤:在web.xml文件配置过滤器HiddenHttpMethodFilter在controller中设置与调用详细讲解:配置过滤器HiddenHttpMethodFilter methodFilter org.springframework.web.filter.HiddenHttpMethodFilter meth
2017-10-25 11:38:32
326
原创 项目移植时出现无法解析Servlet和JSP的el表达式的情况
在移植项目的时候可能会出现这样的报错JSP页面:javax.servlet.jsp.JspException cannot be resolved to a type以及The import javax.servlet.ServletException cannot be resolved这个时候可以通过导包来解决找到tomcat下的lib文件夹,添加
2017-10-25 11:14:09
601
原创 The type javax.servlet.http.HttpServletRequest cannot be resolved.
在项目移植的时候可能有这样的问题发生,有可能是缺少servlet的引用库,解决方法如下1、工程右键选properties->java build path->在Libraries的tag下面选Add External JARs2、找到eclipse的安装目录,点开plugins文件夹,添加里面的javax.servlet.jsp.......jar以及javax.servlet......
2017-10-15 14:12:19
800
原创 Hibernate二级缓存机制-类级别的get()、load()、query.list()
类级别的二级缓存只适用于get和load获取数据,对query接口可以将数据放置到类级别的二级缓存中,但是不能使用query接口的list方法从缓存中获取数据;前提:session不是线程安全,并未绑定在ThreadLocal中。Dept已经配置了二级缓存 @Test public void test2(){ Query query = session.createQuery
2017-10-12 14:08:43
501
原创 SQL语句的模糊查询
@Test public void testFindBookById() throws SQLException { Connection conn = JdbcUtils.getConn(); conn.setAutoCommit(false); ConnectionProvider.newInstance().bind(conn); //System.out.println(
2017-09-15 22:57:52
386
原创 jQuery调用ajax返回json对象
$.get(url,[data],[fn],[type])跟$.post差不多,就以get为例子说明一下:前端代码:(只能用each来遍历刚得到的json对象数组)$("#link").click(function(){ //前提是一定要得到json格式的字符串 $.get("${pageContext.request.contextPath}/jsonServle
2017-09-07 22:42:39
614
原创 Java中Json字符串与对象之间的相互转换
首先创立一个User类,有名字和年龄两个属性(符合javaBean)使用的是gson第三方jar包Gson gson = new Gson(); User user1 = new User("andy",12); User user2 = new User("jack",22);创建gson对象和user对象对象转换成json字符串String js
2017-09-06 10:55:12
494
原创 js调用ajax以及JSON.parse()与JSON.stringify()的使用
GET请求window.onload = function(){ document.getElementsByName("username")[0].onblur = function(){ //1、获取xmlHttpRequest对象 var xmlHttpRequest = new XMLHttpRequest(); //2、打开连接 //xmlHttpRequ
2017-09-05 21:39:05
623
原创 jQuery中通过src替换图片
$("#code").click(function(){ $(this).prop("src","/generateCodeServlet?time="+new Date().getTime()); });以上代码是更换验证码图片如果绑定click事件来更换图片的src,要注意的是:如果src的地址一样,图片更换时不会响应的,所以加了一个时间参数,让地址不一样
2017-08-29 13:23:34
2056
原创 jQuery中同意条款才能提交表单的功能
情形一:$("form:first").submit(function(){ var check = $(":checkbox:first").attr("checked"); return check=="checked"; });如果按钮不需要进行变化的话,直接通过同意按钮的值来控制form.submit事件是return true还是false情形二://
2017-08-29 11:55:52
1702
1
原创 JSP中的EL表达式
EL全名是Expression Language,主要是用于:获取数据执行运算获取Web开发中的隐含对象调用Java方法语法:${Expression}这里的Expression其实就是setAttribute里面的name,这样就获取到对应的值EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符Expression为关键字
2017-08-25 17:08:28
383
原创 JSP中的include指令
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>形如这样的称为静态引入,语法:引入页面的作用:静态引入时,多个jsp会翻译成一个Servlet,因此各个页面中的变量都可以共享,且不能重复声明变量。动态引入,即通过jsp动作来引入
2017-08-25 16:52:01
440
原创 JSP中通过反射机制创建javaBean对象
<% out.print(session.getAttribute("user")); %>在jsp文件中,可以调用jsp的动作:useBean去创建javaBean对象。前提:被创建对象的类必须符合javaBean结构,即:私有化成员变量公共的具体的无参构造函数每个成员变量都有set、get方法jsp动作的参数:id:是指向对象的引用class:需要被创建对象
2017-08-25 16:12:46
1377
原创 Session会话与cookie
如果请求发生重定向,而又想要传输数据,这时可以使用Session会话来保存数据,一般就是用setAttribute和getAttribute方法了。但就算是这样,只要浏览器关闭了,Session里面的数据也会消失。如果想要保存会话中的数据,以下方法可以做到:调用HttpServletResponse对象的void addCookie(Cookie cookie)方法而且调用ad
2017-08-24 21:55:43
304
原创 MySQL查询语句
模糊查询select * from tablename where fieldname like '&&'正常SQL语句是这样写的,如果换成预处理语句(preparestatement),即使用JDBC的方法,使用占位符?会更好String sql = "select * from tablename where fieldname like ?";...statement
2017-08-24 11:08:57
370
原创 页面中提示确认信息的用处
在浏览页面时,经常会进行删除或者添加等操作,一般情况都会在确认之前有一个提示页面弹出,让用户作再次确认,举例说明: $(function(){ $("a").click(function(){ var flag = confirm("确定要删除吗?"); return flag; }); });以上代码是针对a标签操作的,如果点击了a标签,就会弹出确认窗口,显示con
2017-08-24 10:38:49
638
原创 请求访问时的乱码问题
请求访问出现乱码可能是在以下方面:requestpostgetresponsepost方法请求访问:设置request.setCharacterEncoding("utf-8");这样就可以解决post方法get方法请求访问:方法一:username = new String(username.getBytes("ISO-8859-1")
2017-08-23 23:49:15
360
原创 JSP九大隐含对象中的Exception
JSP其实也是Servlet的子类,因为间接继承了Servlet。JSP的Exception对象使用场景:比如用户在访问页面的时候,如果在执行程序的过程中报错,其实不应该把错误信息直接显示在页面,暴露给用户看的,此时就可以设置一个error页面,只要报错了,就跳转到该页面。使用方法:需要先再page指令上设置属性:isErrorPage="true"<%@ page langu
2017-08-23 22:04:10
1020
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人