- 博客(44)
- 收藏
- 关注
转载 线程池的实现原理
提交一个任务到线程池中,线程池的处理流程如下:1、判断线程池里的核心线程是否都在执行任务,如果不是(核心线程空闲或者还有核心线程没有被创建)则创建一个新的工作线程来执行任务。如果核心线程都在执行任务,则进入下个流程。2、线程池判断工作队列是否已满,如果工作队列没有满,则将新提交的任务存储在这个工作队列里。如果工作队列满了,则进入下个流程。3、判断线程池里的线程是否都处于工作
2017-08-21 16:23:46
390
转载 sychronized和lock的区别
1. lock是一个接口,而synchronized是java的一个关键字,synchronized是内置的语言实现;(具体实现上的区别在《Java虚拟机》中有讲解底层的CAS不同,以前有读过现在又遗忘了。)2. synchronized在发生异常时候会自动释放占有的锁,因此不会出现死锁;而lock发生异常时候,不会主动释放占有的锁,必须手动unlock来释放锁,可能引起死锁的发生。(所以
2017-08-21 09:53:04
4928
原创 Hibernate中简答的增删改查
import java.util.Arrays;import java.util.List;import org.hibernate.Criteria;import org.hibernate.Query;import org.hibernate.SQLQuery;import org.hibernate.SessionFactory;import org.hibernate.Tra
2017-08-20 11:32:49
303
原创 Hibernate异常
org.hibernate.TypeMismatchException: Provided id of the wrong type for class com.itheima.a_hello.User. Expected: class java.lang.String, got class java.lang.Integer at org.hibernate.event.def.Defaul
2017-08-20 10:18:15
260
原创 Hibernate导包
解压下载的jar包,选择lib文件夹,并将jpa和required文件夹下的包导入,同时还需要导入连接数据库的包至此,导报结束
2017-08-19 15:51:46
437
原创 OGNL表达式
访问静态方法的方式:@全类名@静态方法名 struts2的框架默认是禁用静态方法调用的。我们可以通过配置开启。 struts.ognl.allowStaticMethodAccess=false把它改为true --%>
2017-08-10 11:00:21
216
转载 Struts2拦截器的应用
拦截器类视图(全)1、检查登录的拦截器案例配置文件:动作类:拦截器:页面:2、案例中的问题问题:由于我们写了自己的拦截器,默认的拦截器不起作用了。解决方法:a、把默认拦截器加入到配置文件中b、a中暴露的问题:当有多个拦截器时,需要改写的地方非常多。解决办法:抽取公共的包,把全局配置放入公共包中。c、b中的问题:还要在每个动
2017-08-06 14:14:34
206
转载 Struts2的自定义拦截器
1、拦截器的类试图(初级版本)2、编写步骤:a、编写一个类,继承AbstractInterceptor或者实现Interceptor接口。重写intercept方法。b、配置拦截器:注意拦截器必须先声明再使用3、执行顺序4、多个拦截器的执行顺序5、intercept方法的返回值
2017-08-06 12:04:18
187
原创 Struts2的验证器案例
1.首先需要注意如下的关键文件的查找方法1)找到在struts-2.3.15.3-all\struts-2.3.15.3\apps\struts2-blank\WEB-INF\lib下的xwork-core-2.3.13.3.jar解压,打开xwork-validator-1.0.3.dtd,复制其中的验证器约束。 <!DOCTYPE validators PUBLIC "-//
2017-08-05 11:16:46
289
原创 Struts2的表单标签使用
1.首先制作了一个简单的用户注册模块,其中对生日的格式必须是2017-08-03由于程序不完善,输入了错误大的日期格式,出现了如下错误(没有结果为input的结果视图定义视图定义),因此需要在struts.xml中进行数据回显操作2.相应的struts.xml配置如下 /success.jsp /message.jsp /register1.
2017-08-03 17:02:31
517
原创 struts2的静态参数封装及3种动态参数封装方法
1.静态参数封装用到了相应的拦截器,在struts-default.xml中查找对应的jsp 用户名: 年龄: 对应的struts配置 <!-- 当我们不写任何拦截器时,默认的拦截器栈defaultStack它来为我们工作。 但是,只要写了任何一个拦截器,默认的就全都不起作用了 -->
2017-08-02 14:28:53
825
原创 struts2常用结果类型
首先指出转发与重定向的区别转发与重定向的区别转发:1次请求;服务器行为;地址栏不变;请求域中的数据不丢失重定向:2次请求;浏览器行为;地址栏变化;请求域中的数据丢失重用的结果类型:1.dispatcher:(默认值)使用请求转发,转向一个页面 /success.jsp 2.redirect:使用重定向,转向一个页面
2017-08-01 13:34:47
409
原创 关联源码
Ctrl+Shift+t 出现如下视图输入要查找的类名,出现如下点击Attach Source,找到本地电脑存放struts-2.3.15.3 -all.zip 的位置点击OK即可
2017-08-01 13:18:55
204
转载 懒汉和饿汉单例模式以及单例模式的概念
单利模式的优缺点和使用场景 首先介绍一下单例模式: 单例模式(Singleton),也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通
2017-07-30 11:46:21
422
原创 静态变量和实例变量的区别
在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来
2017-07-29 11:24:44
198
原创 JAVA中如何跳出当前的多重嵌套循环
在JAVA中如何跳出当前的多重嵌套循环?在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。而只用break的话跳出的是单层循环,continue的话只是不执行其后面的语句,对应着当前循环的下一个索引进行执行。如下是跳出多重循环的例子,其输出结果为1,如果只去掉ok以及将break ok改为brea
2017-07-28 10:01:20
284
原创 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?这个是可以的,一个“.java”源文件里面可以包含多个类,但是只允许有一个public类,并且类名必须和文件名一致。每个编译单元只能有一个public类。这么做的意思是,每个编译单元只能有一个公开的接口,而这个接口就由其public 类来表示。你可以根据需要,往这个文件里面添加任意多个提供辅助功能的package
2017-07-28 09:52:33
457
转载 JSP中的<%= %>和${ }到底有什么区别
只能得到当前面定义的值即你在这个页里有你在下面才可以使用${ }这个是el表达式(表达式语言)可以从上下文中得到值
2017-07-27 22:06:29
379
原创 Struts2的常量查找方式
Strurts2所支持的常数数量众多,在struts2-core-2.3.24.jar压缩文件的org/apache/struts2路径下有一个default.properties文件,该文件里为Struts2的所有常量都指定了默认值,可以通过常看该文件来了解Struts2所支持的常量。
2017-07-27 09:40:10
512
转载 深入理解Java的接口和抽象类
对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不正之处,请多多谅解
2017-07-27 09:09:06
251
原创 关于构造函数的初始化
理论知识,初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 3.其次,初始化父类的普通成员变量和代码块,再执行父类的构造方法;4.最后,初始化子类的普通成员变量和代码块,再执行子类的构造方法; public class A { C c = new C();
2017-07-13 10:23:35
601
原创 方法重构
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。原则如下:1.方法名一定要相同。2.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。1)如果参数个数不同,就不管它的参数类型了。2)如果参数个数相同,那么参数的类型或者参数的顺序必须不同。3.方法的返回类型、修饰符可以相同,也可不同。注意:方法重载不能
2017-07-12 09:15:22
2333
原创 关于struts.xml没有提示的问题
分析原因:没有找到对应的dtd约束文件。解决办法:步骤1:在下载的strtuts压缩包下,找到struts-2.3.15.3\lib\struts2-core-2.3.15.3.jar步骤2:步骤3:在struts2.xml中,书写
2017-07-12 09:04:32
575
原创 关于枚举类的构造方法
输出结果:It is a account typeIt is a account typeIt is a account typeSAVING解释:简而言之,枚举类有是三个实例,故调用三次构造方法,打印三次It is a account type2.public class EnumIndexTest { enum Constants2 { Constant
2017-07-11 10:45:50
2420
原创 宇视科技2015应届生招聘笔试题
收集到到的试题不全,分享给有需要的同学~用JAVA实现了分数的加减法,其中输入的字符串为“a/boc/d“,其中a,b,c,d时一个0-9的整数,o是运算符“+“或者“-”public class Test1 { public static void main(String[] args) { Scanner in = new Scanner(Sy
2017-07-10 16:18:31
12677
原创 华为机考2015(2)JAVA实现
题目描述:输入若干(不超过1000个)非负整数数字,请先取出为奇数的数字按从大到小排序,再取出偶数从小到大进行排序。运行时间限制: 10 Sec内存限制: 128 MByte输入: 输入一串乱序的数字输出: 输出排序后的数字样例输入: 12 34 5 7 92 3 8
2017-06-30 11:00:53
442
原创 华为机考2015(1)JAVA实现
题目描述 :随机给定10个小于10的数字(出现的数字可能重复),从其中取出3个各不相同的数字可组合出多个不同的3位数,请输出这些3位数中最大的那个3位数****************************************编程如下,主要考察了一个排序方法************************************************************
2017-06-30 09:27:40
271
原创 笔记5
1.字节流:InputStream|-- FileInputStream (基本文件流)|-- BufferedInputStream|-- DataInputStream|-- ObjectInputStream字符流 Reader |-- InputStreamReader (byte->char 桥梁) |-- BufferedReader (常用
2017-06-12 10:00:23
168
原创 笔记4
1.类可以实现多个接口,接口可以继承(或扩展)多个接口2.sleep和wait的区别有: 1)这两个方法来自不同的类分别是Thread和Object 2)最主要是sleep方法没有释放锁,而wait方法释放了锁,使得敏感词线程可以使用同步控制块或者方法。 3)wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在
2017-06-11 14:47:17
151
原创 笔记3
1.Java 中的线程由一个虚拟处理机、CPU执行的代码和数据等三部分组成。2.自动类型转换遵循下面的规则:1.若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。2.转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表
2017-06-10 14:03:46
137
原创 笔记2
1.class Foo { final int i; int j; public void doSomething() { System.out.println(++j + i); }}不能执行,因为编译有错;原因:final变量定义的时候,可以先声明,而不给初值,这中变量也称为final空白,无论什么情况,编译器都确保空白final在使用之前
2017-06-09 09:47:27
400
原创 笔记1
1.floor: 求小于参数的最大整数。返回double类型-----n. 地板,地面 例如:Math.floor(-4.2) = -5.0-----------------------------------------------------------ceil: 求大于参数的最小整数。返回double类型-----vt. 装天花板;
2017-06-08 08:45:55
186
原创 Java实现二分查找的递归算法
public class BinarySearch { int[] list = {3, 5, 8, 11, 46, 51, 60, 61, 67, 71, 80}; public static void main(String[] args) { BinarySearch bs = new BinarySearch(); int i = bs.binarySearch(46);
2017-06-05 14:50:54
932
1
原创 写hibernate的.xml配置文件时,实现关联
根据上述步骤,找到hibernate-mapping-3.0.dtd文件,复制其中的到自己的配置文件中即可。
2017-01-26 09:55:20
229
原创 用Struts2做开发时需要导入的包
在使用struts2框架时,不需要导入所有的包,可以按照上述方式,找到相应的文件夹,并把这个文件夹下的所有包导入即可。
2017-01-25 16:39:32
570
原创 在MySQL中插入数据时遇到的中文乱码问题
当向MySQL数据库插入含有中文的数据时,INSERT INTO s_user (userID,userName,logonName,logonPwd) VALUES (1,'超级管理员','admin','admin'),出现乱码问题,可以适用show variables like 'character%'来查看当前数据库的相关编码集。从上图中可以看到 MySQL 有六处使用了字符集,分别为
2017-01-25 11:01:40
315
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人