上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要: 在Java 8中,可以用下面的代码实现相同的功能。 1 2 3 4 5 6 7 8 9 10 11 import java.time.LocalDateTime; class YesterdayCurrent { public static void main(String[] args) { Lo 阅读全文
posted @ 2018-04-21 15:10 爱吃醋的工程师 阅读(338) 评论(0) 推荐(0)
摘要: 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。受检异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。Java编译器要求方法必须声明抛出可能发生的受检异常,但是并不要求必 阅读全文
posted @ 2018-04-21 15:08 爱吃醋的工程师 阅读(1254) 评论(0) 推荐(0)
摘要: 会执行,在方法返回调用者前执行。 注意:在finally中改变返回值的做法是不好的,因为如果存在finally代码块,try中的return语句不会立马返回调用者,而是记录下返回值待finally代码块执行完毕之后再向调用者返回其值,然后如果在finally中修改了返回值,就会返回修改后的值。显然, 阅读全文
posted @ 2018-04-21 15:08 爱吃醋的工程师 阅读(1650) 评论(0) 推荐(0)
摘要: - ArithmeticException(算术异常) - ClassCastException (类转换异常) - IllegalArgumentException (非法参数异常) - IndexOutOfBoundsException (下标越界异常) - NullPointerExcepti 阅读全文
posted @ 2018-04-21 15:07 爱吃醋的工程师 阅读(501) 评论(0) 推荐(0)
摘要: Collection是一个接口,它是Set、List等容器的父接口;Collections是个一个工具类,提供了一系列的静态方法来辅助容器操作,这些方法包括对容器的搜索、排序、线程安全化等等。 阅读全文
posted @ 2018-04-21 15:05 爱吃醋的工程师 阅读(216) 评论(0) 推荐(0)
摘要: List、Set 是,Map 不是。Map是键值对映射容器,与List和Set有明显的区别,而Set存储的零散的元素且不允许有重复元素(数学中的集合也是如此),List是线性结构的容器,适用于按数值索引访问元素的情形。 阅读全文
posted @ 2018-04-21 15:05 爱吃醋的工程师 阅读(1246) 评论(0) 推荐(0)
摘要: TreeSet要求存放的对象所属的类必须实现Comparable接口,该接口提供了比较元素的compareTo()方法,当插入元素时会回调该方法比较元素的大小。TreeMap要求存放的键值对映射的键必须实现Comparable接口从而根据键对元素进行排序。Collections工具类的sort方法有 阅读全文
posted @ 2018-04-21 15:04 爱吃醋的工程师 阅读(409) 评论(0) 推荐(0)
摘要: ① sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会;yield()方法只会给相同优先级或更高优先级的线程以运行的机会; ② 线程执行sleep()方法后转入阻塞(blocked)状态,而执行yield()方法后转入就绪(ready)状态; ③ sleep 阅读全文
posted @ 2018-04-21 15:03 爱吃醋的工程师 阅读(2905) 评论(0) 推荐(0)
摘要: sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间,将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态,请参考第66题中的线程状态转换图)。wait()是Object类的方法,调用对象的wait( 阅读全文
posted @ 2018-04-21 15:03 爱吃醋的工程师 阅读(4359) 评论(0) 推荐(0)
摘要: Java 5以前实现多线程有两种实现方法:一种是继承Thread类;另一种是实现Runnable接口。两种方式都要通过重写run()方法来定义线程的行为,推荐使用后者,因为Java中的继承是单继承,一个类有一个父类,如果继承了Thread类就无法再继承其他类了,显然使用Runnable接口更为灵活。 阅读全文
posted @ 2018-04-21 15:02 爱吃醋的工程师 阅读(457) 评论(0) 推荐(0)
摘要: Lock是Java 5以后引入的新的API,和关键字synchronized相比主要相同点:Lock 能完成synchronized所实现的所有功能;主要不同点:Lock有比synchronized更精确的线程语义和更好的性能,而且不强制性的要求一定要获得锁。synchronized会自动释放锁,而 阅读全文
posted @ 2018-04-21 15:00 爱吃醋的工程师 阅读(933) 评论(0) 推荐(0)
摘要: 字节流和字符流。字节流继承于InputStream、OutputStream,字符流继承于Reader、Writer。在java.io 包中还有许多其他的流,主要是为了提高性能和使用方便。关于Java的I/O需要注意的有两点:一是两种对称性(输入和输出的对称性,字节和字符的对称性);二是两种设计模式 阅读全文
posted @ 2018-04-21 14:59 爱吃醋的工程师 阅读(1636) 评论(0) 推荐(0)
摘要: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; 阅读全文
posted @ 2018-04-21 14:57 爱吃醋的工程师 阅读(237) 评论(0) 推荐(0)
摘要: 下面的代码以连接本机的Oracle数据库为例,演示JDBC操作数据库的步骤。 加载驱动。 1 Class.forName("oracle.jdbc.driver.OracleDriver"); 1 Class.forName("oracle.jdbc.driver.OracleDriver"); 1 阅读全文
posted @ 2018-04-21 14:56 爱吃醋的工程师 阅读(208) 评论(0) 推荐(0)
摘要: XML文档定义分为DTD和Schema两种形式,二者都是对XML语法的约束,其本质区别在于Schema本身也是一个XML文件,可以被XML解析器解析,而且可以为XML承载的数据定义类型,约束能力较之DTD更强大。对XML的解析主要有DOM(文档对象模型,Document Object Model)、 阅读全文
posted @ 2018-04-21 14:56 爱吃醋的工程师 阅读(3477) 评论(0) 推荐(0)
摘要: 要提升读取数据的性能,可以指定通过结果集(ResultSet)对象的setFetchSize()方法指定每次抓取的记录数(典型的空间换时间策略);要提升更新数据的性能可以使用PreparedStatement语句构建批处理,将若干SQL语句置于一个批处理中执行。 阅读全文
posted @ 2018-04-21 14:55 爱吃醋的工程师 阅读(798) 评论(0) 推荐(0)
摘要: 与Statement相比,①PreparedStatement接口代表预编译的语句,它主要的优势在于可以减少SQL的编译错误并增加SQL的安全性(减少SQL注射攻击的可能性);②PreparedStatement中的SQL语句是可以带参数的,避免了用字符串连接拼接SQL语句的麻烦和不安全;③当批量处 阅读全文
posted @ 2018-04-21 14:55 爱吃醋的工程师 阅读(1581) 评论(0) 推荐(0)
摘要: 事务的ACID是指什么? 答: - 原子性(Atomic):事务中各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事务的失败; - 一致性(Consistent):事务结束后系统状态是一致的; - 隔离性(Isolated):并发执行的事务彼此无法看到对方的中间状态; - 持久性(Dur 阅读全文
posted @ 2018-04-21 14:54 爱吃醋的工程师 阅读(2832) 评论(0) 推荐(0)
摘要: DAO模式实际上包含了两个模式,一是Data Accessor(数据访问器),二是Data Object(数据对象),前者要解决如何访问数据的问题,而后者要解决的是如何用对象封装数据。 阅读全文
posted @ 2018-04-21 14:54 爱吃醋的工程师 阅读(243) 评论(0) 推荐(0)
摘要: Connection提供了事务处理的方法,通过调用setAutoCommit(false)可以设置手动提交事务;当事务完成后用commit()显式提交事务;如果在事务处理过程中发生异常则通过rollback()进行事务回滚。除此之外,从JDBC 3.0中还引入了Savepoint(保存点)的概念,允 阅读全文
posted @ 2018-04-21 14:53 爱吃醋的工程师 阅读(404) 评论(0) 推荐(0)
摘要: 获得一个类的类对象有哪些方式? 答: - 方法1:类型.class,例如:String.class - 方法2:对象.getClass(),例如:”hello”.getClass() - 方法3:Class.forName(),例如:Class.forName(“java.lang.String”) 阅读全文
posted @ 2018-04-21 14:52 爱吃醋的工程师 阅读(120) 评论(0) 推荐(0)
摘要: 单一职责原则 依赖倒转原则 接口隔离原则 合成聚合复用原则 迪米特法则 开闭原则 阅读全文
posted @ 2018-04-21 14:50 爱吃醋的工程师 阅读(450) 评论(0) 推荐(0)
摘要: import java.lang.reflect.Method; class MethodInvokeTest { public static void main(String[] args) throws Exception { String str = "hello"; Method m = s 阅读全文
posted @ 2018-04-21 14:50 爱吃醋的工程师 阅读(703) 评论(0) 推荐(0)
摘要: 饿汉式单例 懒汉式单例 阅读全文
posted @ 2018-04-21 14:48 爱吃醋的工程师 阅读(153) 评论(0) 推荐(0)
摘要: UML是统一建模语言(Unified Modeling Language)的缩写,它发表于1997年,综合了当时已经存在的面向对象的建模语言、方法和过程,是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持。使用UML可以帮助沟通与交流,辅助应用设计和文档的生成,还 阅读全文
posted @ 2018-04-21 14:47 爱吃醋的工程师 阅读(398) 评论(0) 推荐(0)
摘要: UML定义了多种图形化的符号来描述软件系统部分或全部的静态结构和动态结构,包括:用例图(use case diagram)、类图(class diagram)、时序图(sequence diagram)、协作图(collaboration diagram)、状态图(statechart diagra 阅读全文
posted @ 2018-04-21 14:46 爱吃醋的工程师 阅读(206) 评论(0) 推荐(0)
摘要: 折半查找,也称二分查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组已经为空, 阅读全文
posted @ 2018-04-21 14:45 爱吃醋的工程师 阅读(899) 评论(0) 推荐(0)
摘要: 不对,如果两个对象x和y满足x.equals(y) == true,它们的哈希码(hash code)应当相同。Java对于eqauls方法和hashCode方法是这样规定的:(1)如果两个对象相同(equals方法返回true),那么它们的hashCode值一定要相同;(2)如果两个对象的hash 阅读全文
posted @ 2018-04-21 14:44 爱吃醋的工程师 阅读(162) 评论(0) 推荐(0)
摘要: 构造器不能被继承,因此不能被重写,但可以被重载。 阅读全文
posted @ 2018-04-21 14:42 爱吃醋的工程师 阅读(233) 评论(0) 推荐(0)
摘要: 2 << 3(左移3位相当于乘以2的3次方,右移3位相当于除以2的3次方)。 补充:我们为编写的类重写hashCode方法时,可能会看到如下所示的代码,其实我们不太理解为什么要使用这样的乘法运算来产生哈希码(散列码),而且为什么这个数是个素数,为什么通常选择31这个数?前两个问题的答案你可以自己百度 阅读全文
posted @ 2018-04-21 14:41 爱吃醋的工程师 阅读(731) 评论(0) 推荐(0)
摘要: Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。 阅读全文
posted @ 2018-04-21 14:36 爱吃醋的工程师 阅读(243) 评论(0) 推荐(0)
摘要: 通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、”hello”和常量都是放在静态区中。栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理 阅读全文
posted @ 2018-04-21 14:35 爱吃醋的工程师 阅读(193) 评论(0) 推荐(0)
摘要: &运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多时候 阅读全文
posted @ 2018-04-21 14:34 爱吃醋的工程师 阅读(231) 评论(0) 推荐(0)
摘要: Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以 阅读全文
posted @ 2018-04-21 14:33 爱吃醋的工程师 阅读(1550) 评论(0) 推荐(0)
摘要: 答:goto 是Java中的保留字,在目前版本的Java中没有使用。(根据James Gosling(Java之父)编写的《The Java Programming Language》一书的附录中给出了一个Java关键字列表,其中有goto和const,但是这两个是目前无法使用的关键字,因此有些地方 阅读全文
posted @ 2018-04-21 14:30 爱吃醋的工程师 阅读(232) 评论(0) 推荐(0)
摘要: 修饰符 当前类 同 包 子 类 其他包public √ √ √ √protected √ √ √ ×default √ √ × ×private √ × × ×类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(pr 阅读全文
posted @ 2018-04-21 14:29 爱吃醋的工程师 阅读(2916) 评论(0) 推荐(0)
摘要: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软 阅读全文
posted @ 2018-04-21 14:28 爱吃醋的工程师 阅读(126) 评论(0) 推荐(0)
摘要: 改为: 最关键的点在这里:如果你是更改的tomcat安装目录的server.xml配置文件,那么在用eclipse运行项目时会发现配置没起作用,其实是因为eclipse在运行项目时是用的eclipse中配置的tomcat,那么问题就好解决了. 注:配置useBodyEncodingForURI="t 阅读全文
posted @ 2018-04-21 14:08 爱吃醋的工程师 阅读(244) 评论(0) 推荐(0)
摘要: 1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。若"Content-Type"="application/x-www-form-urlencoded",可用post提交 url形式:http://localhost:8080/SSMDe 阅读全文
posted @ 2018-04-21 12:37 爱吃醋的工程师 阅读(3452) 评论(0) 推荐(0)
摘要: http://xxx.do?ptname='我是中国人' String strPtname = request.getParameter("ptname"); strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8"); 阅读全文
posted @ 2018-04-20 02:36 爱吃醋的工程师 阅读(196) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 10 下一页