java-基础
qq_17257809
这个作者很懒,什么都没留下…
展开
-
java 多线程 CountDownLatch用法
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。主要方法 public CountDownLatch(int count); public void countDown(); public void await() throws InterruptedException 构造方法参数指定转载 2016-05-03 10:56:19 · 251 阅读 · 0 评论 -
java.lang.Class.getComponentType()方法
描述java.lang.Class.getComponentType() 方法返回类的组件类型的数组。如果这个类并不代表一个数组类,此方法返回null。声明以下是声明java.lang.Class.getComponentType()方法public Class getComponentType()参数NA返回值此方法返回的类,这转载 2016-06-11 20:16:18 · 5845 阅读 · 0 评论 -
java.util.Collections.synchronizedSet()方法实例
当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。2种使用方法 Synchronized method() synchronized(this){/转载 2016-06-11 20:40:55 · 12933 阅读 · 0 评论 -
java访问修饰符 Modifier
在Class 、Field 、Constructor 等类中,可以看到有这样一个方法:getModifiers() 以整数形式返回此 Constructor 对象所表示构造方法的 Java 语言修饰符.它的作用是返回一个类或者其成员的访问修饰符的int 类型常量,如需要知道返回的值所代表的意思,则需要了解java.lang.reflect.Modifier这个类, Modifier 类提供了转载 2016-06-11 21:18:34 · 1491 阅读 · 0 评论 -
使用System.arraycopy()实现数组之间的复制
System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。其函数原型是: public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src:源数组; srcPos:源数组要复制的起始位置; dest:目的数组; destPos:目的数组放置转载 2016-06-12 13:56:09 · 465 阅读 · 0 评论 -
Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
Class.isAssignableFrom()是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的子类或接口。 格式为: Class1.isAssignableFrom(Class2) 调用者和参数都是java.lang.Class类型。 而instanceof是用来判断一个对象实例是否是一个类或接口的或其子类子接口的实例。转载 2016-06-12 20:08:01 · 296 阅读 · 0 评论 -
Java Security 总纲
导读:这是一篇介绍Java Security能做什么的文章。很遗憾,它不会告诉你怎么去做。本文相关的JDK版本是JDK7,当然,仍适用于JDK6。 Java平台(Java运行时环境,即JVM + Java API) 在多个层面上提供了security机制。 Java Language Security and Bytecode Verification转载 2016-07-12 10:12:07 · 401 阅读 · 0 评论 -
url中的jsessionid解释
(1) 这是一个保险措施 因为Session默认是需要Cookie支持的 但有些客户浏览器是关闭Cookie的 这个时候就需要在URL中指定服务器上的session标识,也就是5F4771183629C9834F8382E23BE13C4C 用一个方法(忘了方法的名字)处理URL串就可以得到这个东西 这个方法会判断你的浏览器是否开启了Cookie,如果他认为应该加他就会加上转载 2016-07-12 11:45:32 · 739 阅读 · 0 评论 -
防御SQL注入的方法总结
SQL 注入是一类危害极大的攻击形式。虽然危害很大,但是防御却远远没有XSS那么困难。SQL 注入可以参见:https://en.wikipedia.org/wiki/SQL_injectionSQL 注入漏洞存在的原因,就是拼接 SQL 参数。也就是将用于输入的查询参数,直接拼接在 SQL 语句中,导致了SQL 注入漏洞。1. 演示下经典的SQL注入转载 2016-07-12 13:29:00 · 444 阅读 · 0 评论 -
Java Security:Java加密框架(JCA)简要说明
加密服务总是关联到一个特定的算法或类型,它既提供了密码操作(如Digital Signature或MessageDigest),生成或供应所需的加密材料(Key或Parameters)加密操作,也会以一个安全的方式生成数据对象(KeyStore或Certificate),封装(压缩)密钥(可以用于加密操作)。 Java Security API中,一个engine class就是定义转载 2016-07-12 13:30:49 · 524 阅读 · 0 评论 -
关于Class.getResource和ClassLoader.getResource的路径问题
Java中取资源时,经常用到Class.getResource和ClassLoader.getResource,这里来看看他们在取资源文件时候的路径问题。Class.getResource(String path)path不以’/'开头时,默认是从此类所在的包下取资源;path 以’/'开头时,则是从ClassPath根下获取;什么意思呢?看下面这段代码的输出结果就转载 2016-06-11 12:29:42 · 283 阅读 · 0 评论 -
javaweb学习总结(四十三)——Filter高级开发
在filter中可以得到代表用户请求和响应的request、response对象,因此在编程中可以使用Decorator(装饰器)模式对request、response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求。一、Decorator设计模式1.1、Decorator设计模式介绍 当某个对象的方法不适应业务需求时,通常有2种方式可以对方法进行增强:转载 2016-02-22 00:12:01 · 308 阅读 · 0 评论 -
什么时候使用CountDownLatch
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟CountDownLatch相关的以下几点:目录CountDownLatch是什么转载 2016-05-03 10:47:56 · 277 阅读 · 0 评论 -
DAO与DTO的区别是什么
DAO叫数据访问对象DTO是数据传输对象DAO通常是将非对象数据(如关系数据库中的数据)以对象的方式操纵。DTO通常用于不同层(UI层、服务层或者域模型层)直接的数据传输,以隔离不同层,降低层间耦合转载:http://zhidao.baidu.com/link?url=-33h367SnvIcoHnZZxtnaXVzbA53wBgR_TBRKVx9RTQ4PtEpMYMmmIQgwlzS转载 2016-03-14 23:16:04 · 1540 阅读 · 0 评论 -
我们为什么需要DTO(数据传输对象)
DTO即数据传输对象。之前不明白有些框架中为什么要专门定义DTO来绑定表现层中的数据,为什么不能直接用实体模型呢,有了DTO同时还要维护DTO与Model之间的映射关系,多麻烦。然后看了这篇文章中的讨论部分才恍然大悟。摘两个比较有意义的段落。表现层与应用层之间是通过数据传输对象(DTO)进行交互的,数据传输对象是没有行为的POCO对象,它 的目的只是为了对领域对象进行数据封转载 2016-03-14 23:14:03 · 245 阅读 · 0 评论 -
Java 加密解密之消息摘要算法(MD5 SHA MAC)
消息摘要 消息摘要(Message Digest)又称为数字摘要(Digital Digest)。它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生。如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。因此消息摘要保证了消息的完整性。消息摘要采用单向Hash 函数将需加密 的明文"摘要"成一串128bi转载 2016-02-26 14:12:12 · 692 阅读 · 0 评论 -
简说BASE64编码的应用
Base64编码就是把二进制字节序列转化为ASCII字符序列。一般增加1/3长度,而且也是不可读的应用环境如下:[@more@]1.mail由于rfc821有以下两条限制:1)邮件的内容必须全部为7-比特的美国ascii码。2)每一行的长度不能超过1000的字符当邮件中有其他的非ASCII字符或二进制数据时,就需要做层 转换。这个就叫做Conte转载 2016-02-26 13:53:02 · 290 阅读 · 0 评论 -
JAVA正则表达式 Pattern和Matcher
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher 。Pattern: 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher: 一个Matcher对象是一转载 2016-02-25 13:20:38 · 210 阅读 · 0 评论 -
Java中Comparable和Comparator实现对象比较
当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。A comparison function, which imposes a total ordering on some collection of objects. Comparators can be passed to a sort method转载 2016-02-24 10:05:16 · 286 阅读 · 0 评论 -
Java对象序列化ObjectOutputStream和ObjectInputStream示例
Java中ObjectInputStream 与 ObjectOutputStream这两个包装类可用于输入流中读取对象类数据和将对象类型的数据写入到底层输入流 。ObjectInputStream 与 ObjectOutputStream 类所读写的对象必须实现了 Serializable 接口。需要注意的是:对象中的 transient 和 static 类型的成员变量不会被读取和写入 。转载 2016-02-22 13:29:37 · 354 阅读 · 0 评论 -
方法的可变长参数 传入参数个数不确定可用(Type ... values)
/** * 可变长的参数。 * 有时候,我们传入到方法的参数的个数是不固定的,为了解决这个问题,我们一般采用下面的方法: * 1. 重载,多重载几个方法,尽可能的满足参数的个数。显然这不是什么好办法。 * 2. 将参数作转载 2016-02-22 11:36:51 · 2810 阅读 · 0 评论 -
什么是md5盐值
简单说就是为了使相同的密码拥有不同的hash值的一种手段 就是盐化MD5自身是不可逆的 但是目前网路上有很多数据库支持反查询如果用户密码数据库不小心被泄露 黑客就可以通过反查询方式获得用户密码或者对于数据库中出现频率较高的hash码(即很多人使用的)进行暴力破解(因为它通常都是弱口令)盐值就是在密码hash过程中添加的额外的随机值比如我的id是癫ω倒④ゞ 密码是123456 存在数据转载 2016-07-12 13:48:24 · 486 阅读 · 0 评论