随笔分类 -  Java

Java学习笔记
摘要:简介 文件上传和下载是java web中常见的操作,文件上传主要是将文件通过IO流传放到服务器的某一个特定的文件夹下,而文件下载则是与文件上传相反,将文件从服务器的特定的文件夹下的文件通过IO流下载到本地。 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servl 阅读全文
posted @ 2016-05-10 20:19 ngulc 阅读(46248) 评论(3) 推荐(9) 编辑
摘要:简介 在现实生活中有很多使用适配器模式的例子,比如:我们电脑需要的是5v的低电压,而生活用电是220V,所以要将200V转为5V才能使用,这就是电源适配器的作用了。通俗的理解就是,一个类的接口不满足客户端的需要,我们需要把它换成客户端需要的接口,使原本因接口不匹配而不能一起工作的两个类可以一起工作了 阅读全文
posted @ 2016-05-05 23:17 ngulc 阅读(656) 评论(1) 推荐(1) 编辑
摘要:简介 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 java不是一种动态语言(程序运行时,允许改变程序结构或变量类型,这种语言称为动态语 阅读全文
posted @ 2016-04-24 11:25 ngulc 阅读(691) 评论(1) 推荐(2) 编辑
摘要:简介 在java中,每个线程有一块工作内存区,其中存放这被所有线程共享的主内存中变量值的拷贝。当线程执行时,它在自己的工作内存中操作这些变量。为了获取一个共享变量,一个线程先获取锁定并清除它的工作内存区,这就保证了该共享变量从所有的线程的共享主内存区正确的装入到线程的工作内存区,当线程解锁时保证该工 阅读全文
posted @ 2016-04-19 21:07 ngulc 阅读(2243) 评论(0) 推荐(2) 编辑
摘要:定义 建造者模式利用一个导演者对象和一个建造者对象一个一个的创造出所有的零件,从而建造出完整的产品对象。建造者模式将产品的结构和产品的零件建造过程对客户端隐藏起来,把对建造过程进行指挥的责任和具体的建造者零件的责任分割开来,达到责任划分和封装的作用。 类图: 四个要素 导演者:一般是一个较为复杂的对 阅读全文
posted @ 2016-04-14 21:12 ngulc 阅读(450) 评论(0) 推荐(0) 编辑
摘要:最近在看ArrayList源码的时候,发现了一个以前从未接触的过的关键字transient,于是就去找资料好好研究了下这个关键字。 transient的作用 一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列 阅读全文
posted @ 2016-04-13 20:17 ngulc 阅读(759) 评论(0) 推荐(0) 编辑
摘要:hashcode的作用 对于包含容器类型的程序设计语言来说,基本上都会涉及到hashCode。在Java中也一样,hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,这样的散列集合包括HashSet、HashMap以及HashTable。 当向集合中插入对象时,如何判别在集合中是否已 阅读全文
posted @ 2016-04-07 21:27 ngulc 阅读(559) 评论(0) 推荐(0) 编辑
摘要:Master-Worker模式是常用的并行设计模式。它的核心思想是,系统有两个进程协议工作:Master进程和Worker进程。Master进程负责接收和分配任务,Worker进程负责处理子任务。当各个Worker进程将子任务处理完后,将结果返回给Master进程,由Master进行归纳和汇总,从而 阅读全文
posted @ 2016-03-22 23:23 ngulc 阅读(6894) 评论(2) 推荐(3) 编辑
摘要:在软件系统中,I/O的速度要比内存的速度慢很多,因此I/O经常会称为系统的瓶颈。所有,提高I/O速度,对于提升系统的整体性能有很大的作用。 在java标准的I/O中,是基于流的I/O的实现,即InputStream和OutPutStream,这种基于流的实现以字节为基本单元,很容易实现各种过滤器。 阅读全文
posted @ 2016-03-16 21:53 ngulc 阅读(934) 评论(0) 推荐(0) 编辑
摘要:JDK提供了一组主要的数据结构的实现,如List、Set、Map等常用结构,这些结构都继承自java.util.collection接口。 List有三种不同的实现,ArrayList和Vector使用数组实现,其封装了对内部数组的操作。LinkedList使用了循环双向链表的数据结构,Linked 阅读全文
posted @ 2016-03-13 15:06 ngulc 阅读(5809) 评论(0) 推荐(0) 编辑
摘要:简介 String最为java中最重要的数据类型。字符串是软件开发中最重要的对象之一,通常,字符串对象在内存中总是占据着最大的空间块。所以,高效处理字符串,将提高系统的整个性能。 在java语言中,String对象可以认为是char数组的衍生和进一步的封装。它的主要组成部分是:char数组、偏移量和 阅读全文
posted @ 2016-03-08 21:34 ngulc 阅读(3350) 评论(0) 推荐(2) 编辑
摘要:观察者模式介绍 观察者模式是一种非常有用的设计模式,在软件系统中,当一个对象的行为依赖于另一个对象的状态时,观察者模式就非常有用。如果不适用观察者模式,而实现类似的功能,可能就需要另外启动一个线程不停地监听另一个对象的状态,这样会得不偿失。如果在一个复杂的系统中,可能就需要开启很多的线程来监听对象状 阅读全文
posted @ 2016-03-07 21:51 ngulc 阅读(1229) 评论(0) 推荐(1) 编辑
摘要:最近做的项目,需要将一些信息导出到word中。在网上找了好多解决方案,现在将这几天的总结分享一下。 目前来看,java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。使用Jacob自带的DLL动态链接库,并通过J 阅读全文
posted @ 2016-03-06 13:14 ngulc 阅读(45627) 评论(7) 推荐(3) 编辑
摘要:Java日期时间使用总结一、Java中的日期概述日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题。在Java中,操作日期主要涉及到一下几个类:1、java.util.Date 类 Date ... 阅读全文
posted @ 2016-01-24 11:06 ngulc 阅读(23282) 评论(0) 推荐(2) 编辑
摘要:最近看spring的JDBCTemplete的模板方式调用时,对模板和回调产生了浓厚兴趣,查询了一些资料,做一些总结。回调函数: 所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。回调函数只是一个功能片段,由用户按... 阅读全文
posted @ 2016-01-07 20:11 ngulc 阅读(2920) 评论(0) 推荐(0) 编辑
摘要:转发和重定向都能让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有着很大的区别。1、转发:有两种方式获得转发对象(RequestDispatcher):一种是通过HttpServletRequest的getRequestDispatcher()方法获得,一种是通过ServletConte... 阅读全文
posted @ 2016-01-02 16:01 ngulc 阅读(5127) 评论(2) 推荐(0) 编辑
摘要:1、修改eclipse.ini在Myeclipse安装目录下G:\MyEclipse8.5\Genuitec\MyEclipse 8.5有一个myeclipse.ini配置文件,设置如下:-vmargs-Xmx512m-XX:MaxPermSize=256m-XX:ReservedCodeCache... 阅读全文
posted @ 2015-12-31 21:19 ngulc 阅读(587) 评论(0) 推荐(0) 编辑
摘要:RMI 相关知识RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地... 阅读全文
posted @ 2015-12-29 23:33 ngulc 阅读(1943) 评论(0) 推荐(0) 编辑
摘要:1 WARNING: Failed to register in JMX: javax.naming.NamingException: Could not load resource factory class [Root exception is java.lang.ClassNotFoundE... 阅读全文
posted @ 2015-12-24 22:50 ngulc 阅读(10000) 评论(0) 推荐(0) 编辑
摘要:装饰者模式拥有一个设计非常巧妙的结构,它可以动态的添加功能。在基本的设计原则中,有一条重要的设计准则就是合成/聚合复用原则。根据该原则的思想,代码复用应该尽可能使用委托,而不是使用继承。因为继承是一种紧密耦合,父类的任何改动都会影响其子类,不利于系统维护。而委托是松散耦合,只要接口不变,委托类的改变... 阅读全文
posted @ 2015-12-16 00:12 ngulc 阅读(415) 评论(0) 推荐(0) 编辑