java
文章平均质量分 68
南方的北方
长沙理工大学学生 专注于J2EE
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java关键字new和newInstance()的区别
我们都知道要初始化一个类,生成一个实例的时候,可以用通过new关键字来创建一个对象,同样我们也可以调用newInstance()方法来创建一个对象。但是二者又有什么区别呢?其最主要是,前者在创建对象的时候,是创建了一个新类,而后者是使用了类加载机制。 从jvm的角度,我们使用关键字new创建一个类的时候,这个类可以没有事先加载。但是我们使用newInstance()方法的时候,我们必须保证此类已原创 2013-11-02 00:29:56 · 803 阅读 · 0 评论 -
java设计模式之责任链
在 面向对象程式设计里, 责任链模式是一种软件设计模式,它包含了一些命令对象和一系列的处理对象。每一个处理对象决定它能处理哪些命令对象,它也知道如何将它不能处理的命令对象传递给该链中的下一个处理对象。该模式还描述了往该处理链的末尾添加新的处理对象的方法。下面通过一个小例子来演示该模式。package com.flj.main; public class Main { /**package c原创 2013-11-16 00:06:12 · 690 阅读 · 0 评论 -
基于TCP协议的点对点通信java程序,带图形界面
客户端 package client; import java.awt.*; import java.awt.event.*; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import jav原创 2013-11-02 00:18:26 · 2749 阅读 · 0 评论 -
java抽象类
包含了抽象方法的一个类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成 abstract(抽象)。“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。下面是抽象方法声明时采用的语法: abstract void f(); 如果从一个抽象类继承,而且想生成新类型的一个对象,就必须为基础类中的所有抽象方法提供方法定义。 抽象类只能被继承,不能被原创 2013-11-02 00:27:22 · 709 阅读 · 0 评论 -
MD5加密算法,在网上看了看,整理了一段小代码,以后直接拿来用
package com.test; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Md5Util { publ原创 2013-11-02 00:31:26 · 956 阅读 · 0 评论 -
java内存分为两种,堆内存和栈内存
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈存内中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。 堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在堆中产生了一个数组或者对象后,还可以在栈中定义一个特原创 2013-11-02 00:28:11 · 1010 阅读 · 0 评论 -
java中深拷贝和浅拷贝的区别
今天上课学到了Cloneable接口,自然我们在使用clone()方法的时候,涉及到了java中的浅拷贝和深拷贝的问题。下面通过在网上看一下资料,做一个小小的总结。 (1)浅拷贝 浅拷贝是指对象中基本数据类型得到拷贝,而引用数据类型并没有拷贝。看下面一段代码: public class Person implements Cloneable{原创 2013-11-02 00:30:24 · 955 阅读 · 0 评论 -
Java设计模式之装饰者模式
Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。 意图: 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。 设计原则: 1. 多用组合,少用继承。 利用继承设计子类的行为,是在编译时静态决定的,而且所有的子类都会继承到相同的行为。然而,如果能够利用组合转载 2014-02-24 23:26:14 · 852 阅读 · 0 评论 -
单例模式和工厂模式
http://detail.tmall.com/item.htm?spm=a220m.1000858.1000725.6.lZNUC4&id=18800856374&_u=1nmsbjv7aa5&areaId=430100&user_id=791872703&is_b=1&cat_id=2&q=%C7%C7%B5%A4&rn=62210339bedf5a1b303ac3978eefbefc 1.原创 2014-02-25 15:00:32 · 14968 阅读 · 0 评论 -
线程间通信,生产者消费者问题!
线程之间的通信简介: 一般而言,在一个应用程序中(即进程),一个线程往往不是孤立存在的,常常需要和其它线程通信,以执行特定的任务。如主线程和次线程,次线程与次线程,工作线程和用户界面线程等。这样,线程与线程间必定有一个信息传递的渠道。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的。 线程通信的目标是使线程间能够互相发送信号。另一方面,线程通信使线程能够等待其他线程原创 2014-06-03 19:41:41 · 2123 阅读 · 0 评论 -
JAVA中的final关键字
一、final用于构建不可变对象。 根据程序上下文环境,Java关键字 final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法 和变量 二、final用法 1、在class上加入final,表示此class不可以被继承,没有子类,final类中的方法默认是final的,常用于专用的工具类,或者业务实现类,以防止改变原来的实现。 p转载 2014-09-05 16:48:46 · 540 阅读 · 0 评论 -
java中强引用、软引用、弱应用、虚引用
在一次面试经历中,被问到java中的四种引用类型,平时工作中没有去深入的学习,只是在一次安卓开发过程中为了解决内存泄漏问题,使用到了弱引用。现在对java中的四种引用类型做一下简单的介绍。从JDK1.2开始,对象的引用被分为了四个级别:强引用、软引用、弱引用、虚引用,从而使程序更加灵活的控制对象的生命周期。 强引用:在我们平时编程中,用的最多的其实就是强引用,比如 User user = new原创 2016-12-08 23:03:03 · 1678 阅读 · 0 评论 -
简单分析Synchronized(同步锁)、Lock
Synchronized(同步锁) 在Java中使用多线程,同步锁这个概念是十分重要的。 平时的开发过程中,你必然会遇到一个问题:多个线程共享一个或者一组资源,这资源包括内存、文件等,在多个线程对这组资源进行读写操作时,如何保持数据的准确性同步一致,这是至关重要的。 很常见的一个例子是,张三在银行账户存有1000元,李四和张三同时对这个账号在不同取款机多次的存取100,在这原创 2016-12-14 09:19:54 · 637 阅读 · 0 评论 -
使用filter解决xss攻击
使用filter解决xss攻击的实现思路,其实是通过正则的方式对请求的参数做脚本的过滤,但是这需要对所要过滤的脚本做很多的枚举。下面这个demo是我在工作中用到的,希望对大家有所帮助。 public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { HttpServletRequest org原创 2017-06-25 00:08:07 · 9604 阅读 · 3 评论 -
redis-cluster主流客户端驱动不支持pipeline,该怎么解决。
redis-cluster,是基于redis的基础上开发分布式缓存数据库系统。 1、redis-cluster集群的特点: 1)无中心节点(share-nothing)架构,各个节点对等,每个节点存储集群数据的一部分。 2)集群数据分布在所有master节点上的16384个slots中,无冗余。 3)通过redis配置slave节点,完成数据备份存储以及提供failover原创 2017-07-23 16:05:05 · 5911 阅读 · 0 评论 -
发生死锁的线程dump日志
2018-01-03 19:38:30 Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.79-b02 mixed mode): "RMI TCP Connection(2)-10.100.227.115" daemon prio=6 tid=0x000000000d4e6000 nid=0x29c0 runnable [0x原创 2018-01-03 19:43:44 · 1541 阅读 · 0 评论
分享