自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java.lang.IllegalMonitorStateException

贴一段代码: public void releaseConn(Connection conn) throws SQLException { //log.info(Thread.currentThread().getName() + "关闭连接:activeConnections.remove:" + conn); this.activeConnections.remove(conn); ...

2018-06-26 15:46:05 274

原创 Java JSP提交表单from到servlet,后台乱码问题

<input type="submit" value="加入购物车aaa" name="mygood">在JSP里加入from表单,提交value的值传给后台的servlet,在servlet中接受到的字符串中文在后台始终是乱码。servlet代码如下: protected void doPost(HttpServletRequest req, HttpServletResponse ...

2018-06-17 22:21:28 260

原创 Hibernate 基本原理和配置

Hibernate是一个Java ORM开源框架,ORM即对象关系映射,是指在操作数据库时,利用面向对象的方法来处理关系型数据库里面的数据。Hibernate本质上是对Java的JDBC进行了封装。有了Hibernate,就可以将数据库中的数据映射为对象,将数据封装进对象后,就可以通过Java面向对象的思想来处理这些数据,使得开发更加高效。使用Hibernate首先需要依赖如下.jar包:即官网下...

2018-05-25 21:10:06 163

原创 Java 使用C3P0 连接数据库

需要的.jar包:C3P0是一个开源的JDBC连接池,在不使用连接池的情况下,在编写Java程序的时候,每一次需要对数据库操作时,如果使用jdbc直接操作的话,都会先进行和数据库的连接、执行SQL语句、断开连接这三个步骤。有了这个连接池,当需要连接时,可以从该连接池里取出一个线程,这个线程已经和数据库建立了连接,当执行完SQL语句后,又将该连接放回,等待下一次执行语句。这样可以提高访问数据库的效率...

2018-05-25 20:39:59 533

原创 Hibernate遇到的小问题

在运行时抛出异常,提示:Unable to perform unmarshalling at line number 47 and column 23 in RESOURCE hibernate.cfg.xml. Message: cvc-complex-type.2.3: 元素 'session-factory' 必须不含字符 [子级], 因为该类型的内容类型为“仅元素”。错误原因:bibern...

2018-05-24 21:42:45 3962 1

原创 Java 线程池

一、线程池简介当编写一个多并发的程序时,需要大量的线程并发运行。在传统的处理方法中,系统时间主要花费在了三个部分:1、线程的创建 2、线程的执行 3、线程的销毁  可以看到,1和3对于时间的浪费实际上是我们并不需要的。于是有了线程池的概念,在线程池中,存在数量相对固定的线程,这些线程不断的接受传入的任务,执行完毕后继续接受,省去了线程创建、销毁所需要的时间。另外,若是通过新建大量线程来处理高并发问...

2018-05-18 21:14:42 84

原创 Java 序列化

Java序列化又称为“持久化”。指将某个特定的对象写入到磁盘中。序列化后的对象是以二进制字节码的形式存在的。序列化的作用:1、对象是生存在JVM进程中的,对象的生命周期一定比JVM生命周期短,当有些对象需要长久保存时,需要用到序列化,将对象存储起来。2、进行网络传输时,数据只能按照二进制形式进行传输,所以需要先序列化为字节码,再进行传输。什么对象能进行序列化操作:1、String类、数组类型、En...

2018-05-03 23:27:41 104

原创 Java 指令重排序与并发

一、指令重排序: 编译器或运行时环境 为了优化程序性能而采取的对指令进行重新排序执行的一种手段。指令重排序发生在不影响语义的情况下,也就是在 单线程下,重排序不能导致运行结果发生变化。(即遵循as-if-serial语义)进一步解释就是在不影响执行结果的情况下,代码在jvm内的执行顺序并不是严格按照书写顺序的,出于性能方面的考虑,jvm会对它进行重排序。如果两个操作访问同一个变量,且这两个变量有一...

2018-04-23 20:03:18 414

原创 Java 内部类

一、Java中引入内部类的原因:(1)、完善继承机制。Java仅支持单继承,一个类不能同时继承两个类。Java给出的解决多继承的解决方案是: 接口+内部类。当我们自己设计时,一般利用接口代替要继承的类,当需要继承两个父类时,就采用内部类实现。(2)、实现事件驱动系统在swing中,当需要添加事件监听者时,一般使用匿名内部类解决。(3)、内部类一旦创建,就自动拥有一个它的外部类的引用。有了这个引用,...

2018-04-11 17:21:53 101 1

原创 Java 编译时和运行时

public class ConstantFolding {static final int number1 = 5;static final int number2 = 6;static int number3 = 5;static int number4= 6;public static void main(String[ ] args) {int product1 =...

2018-04-10 19:05:22 325 1

原创 动态规划问题

以下内容基于个人理解。一、什么是动态规划动态规划(DP)算法,指的是:一个问题的解决是依赖于若干个和该问题相似,但比该问题的问题规模更小的问题时,所采用的一种算法。动态规划是自底向上的思考问题的方法,通常要从最底层的问题开始考虑。而这类问题的特点是:解决所有本层次问题后,就可以解决上一层的问题,由此达到求解问题的目的。二、动态规划和递归动态规划的思想类似于递归的思想,一个不同点是,递归是自顶向下的...

2018-04-07 15:46:35 169

原创 Java—Generator模式,基于反射的工厂模式

public interface Generator<T> { public T next();}public class AnimalGenerator implements Generator<Animal>{ //该生成器可以生成如下类型的对象 private Class[] type = new Class[]{Animal.class}; @Overri...

2018-04-05 16:30:42 460

原创 JVM垃圾回收原理

垃圾回收(Garbage Collection)是JVM(Java virtual machine)需要进行处理的工作之一。和C/C++等程序设计语言不同,Java语言是不运行使用者主动进行垃圾回收的。所以与垃圾回收有关的操作都应交由JVM来完成。当我们使用Java语言生成一个新的对象时(new object()),JVM会通过一定算法在运行时数据区中的堆区(heap)分配一块内存区域。在程序运行...

2018-03-30 18:01:48 842

原创 JVM运行时数据区

Java程序在运行时,数据主要存放在以上几个区域。程序计数器:程序计数器即平时常指的PC指针,用于指向程序当前执行的语句的下一句。该区域是线程私有的,即每个运行的线程都有自己的程序计数器,用于存放当前线程将要执行的下一条指令。在多线程程序中,当程序由其他线程跳入此线程时,就通过PC来获得下一条语句所在位置。方法区:一块线程共享的区域,主要用于存放虚拟机加载的类信息、常量、静态变量(静态变量是和类相...

2018-03-24 23:02:47 85

原创 Java 异常丢失 现象

在Java中,执行如下代码:public class AException extends Exception{ public String toString(){ return "A"; }}public class BException extends Exception{ public String toString(){ return "B"; }}public cl...

2018-03-21 21:48:23 685

原创 Java语言释型

计算机语言大致分为两种释型,即编译型语言、解释型语言(还有一说为三种,第三种是脚本语言,由于脚本语言同样是依靠解释器进行解释的,所以可以认为是解释型语言的一种,如JavaScript等)。编译型语言的编译过程如图(C语言为例):即通过编译、链接,将高级语言直接翻译成特定的机器语言,使得指令的以执行,这种语言执行效率高,但是移植性不好,由于编译器直接将代码翻译成机器语言,所以往往只能针对某一型号的机...

2018-03-20 22:23:42 115

空空如也

空空如也

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

TA关注的人

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