
Java基础
IT布道者
这个作者很懒,什么都没留下…
展开
-
JAVA正则表达式,matcher.find()和 matcher.matches()的区别
1.find()方法是部分匹配,是查找输入串中与模式匹配的子串,如果该匹配的串有组还可以使用group()函数。matches()是全部匹配,是将整个输入串与模式匹配,如果要验证一个输入的数据是否为数字类型或其他类型,一般要用matches()。2.Pattern pattern= Pattern.compile(“.?,(.)”);Matcher matcher = pattern.matcher原创 2015-04-25 12:11:02 · 765 阅读 · 0 评论 -
Java内存模型
Question:在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步? Answer:在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。线程之间通过共享程序公共的状态,通过读-写内存中公共状态的方式来进行隐式的通信。同步指的是程序在控制多个线程之间执行程序的相对顺序的机制,在共享内存模型中,同步是显式的,程序员必须显式指定某个方法/代码原创 2016-06-10 23:24:27 · 2351 阅读 · 0 评论 -
使用HttpSessionListener接口监听Session的创建和失效
HttpSessionListener : Session创建事件发生在每次一个新的session创建的时候,类似地Session失效事件发生在每次一个Session失效的时候。这个接口也只包含两个方法,分别对应于Session的创建和失效: public void sessionCreated(HttpSessionEvent se); public void sessionDestr原创 2015-12-22 17:00:17 · 543 阅读 · 0 评论 -
固定SessionID 漏洞 攻击(session fixation attacks)
固定session 攻击:session fixation attacks 一个简单的登录控制 下面是一个最常用最简单的登录控制流程,通过表单提交用户名密码,servlet判断用户名密码,正确则写一个session,然后跳转到登录后的能够看到的页面 登录页面JSP<body> <form action="SessionTestServlet" method="post"> 用户名:<inpu翻译 2015-12-22 16:51:37 · 7139 阅读 · 0 评论 -
HashMap解决hash冲突的方法
在Java编程语言中,最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样。当程序试图将多个 key-value 放入 HashMap 中时,以如下代码片段为例:HashMap<String,Object> m=new HashMap<String,Object>(); m.put("a", "rrr1"); m.put("b"原创 2015-11-27 10:57:51 · 890 阅读 · 0 评论 -
含中文的List列表按中文拼音排序的实现方式 Java
package com.zx.test;import java.text.Collator;import java.text.ParseException;import java.text.RuleBasedCollator;import java.util.Arrays;import java.util.Collections;import java.util.Comparator;i原创 2015-07-25 22:04:00 · 1747 阅读 · 0 评论 -
BigDecimal高精度编程
package com.zx.testCode;import java.math.BigDecimal;/** * java 处理高精度计算 * * Double.valueOf(String) and Float.valueOf(String)都会丢失精度。 * 为了解决这个问题,需要用到BigDecimal类。 * * 使用的BigDecim原创 2014-12-18 13:17:54 · 437 阅读 · 0 评论 -
WebSocket 原理,为什么可以实现持久连接?
我们可以把 WebSocket 看成是 HTTP 协议为了支持长连接所打的一个大补丁,它和 HTTP 有一些共性,是为了解决 HTTP 本身无法解决的某些问题而做出的一个改良设计。在以前 HTTP 协议中所谓的 keep-alive connection 是指在一次 TCP 连接中完成多个 HTTP 请求,但是对每个请求仍然要单独发 header;所谓的 polling 是指从客户端(一般就是浏览器原创 2015-08-22 10:12:02 · 633 阅读 · 0 评论 -
39个java-api代表性时区
英文版(时区id=名称)# key=valueEtc/GMT-12=UTC-12(Etc/GMT-12 - The International Date Line)Pacific/Midway=UTC-11(Pacific/Midway - Samoa Standard Time)America/Adak=UTC-10(America/Adak - Hawaii-Aleutian Standa原创 2015-08-19 09:58:59 · 1480 阅读 · 0 评论 -
Java中的hashcode方法
哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。 为何Object类需要这样一个方法?它有什么作用呢?今天我们就来具体探讨一下hashCod原创 2015-07-30 19:48:37 · 393 阅读 · 0 评论 -
Cookie-网站登录-下次自动登录2
做网站前端用户登录时需要有个下次自动登录的功能。看了看各大网站都有这种功能。 问题描述:用户登录网站时,一般有个checkbox让用户选择是否可以下次自动登录。选择后,即使用户关闭浏览器,下次再访问这个网站时直接就登录了,不需要用户名和密码。主要使用cookie。cookie是web服务器存放在客户端的一个文件,主要用来记录用户浏览网站信息的。它主要有两个功能:一个是记录用户信息,下次自动登录的。原创 2015-07-20 21:25:02 · 808 阅读 · 0 评论 -
理解OAuth 2.0
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。 一、应用场景 为了理解OAuth的适用场合,让我举一个假设的例子。 有一个”云冲印”的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让”云冲印”读原创 2015-07-19 11:19:17 · 328 阅读 · 0 评论 -
Java的Calendar
public class CalendarTest { public static void main(String[] args) { // 字符串转换日期格式 // DateFormat fmtDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 得原创 2015-08-24 22:12:24 · 395 阅读 · 0 评论 -
JAVA线程池的分析和使用
1. 引言合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。2. 线程池的使用原创 2015-07-14 20:43:00 · 307 阅读 · 0 评论 -
Java自带的线程池ThreadPoolExecutor详细介绍说明和实例应用
Java 5 开始,Java 提供了自己的线程池。线程池就是一个线程的容器,每次只执行额定数量的线程。 java.util.concurrent.ThreadPoolExecutor 就是这样的线程池。它很灵活,但使用起来也比较复杂,本文就对其做一个介绍。首先是构造函数。以最简单的构造函数为例:[java] public ThreadPoolExecutor( in原创 2015-07-14 20:31:36 · 429 阅读 · 0 评论 -
彻底理解ThreadLocal
知其然synchronized这类线程同步的机制可以解决多线程并发问题,在这种解决方案下,多个线程访问到的,都是同一份变量的内容。为了防止在多线程访问的过程中,可能会出现的并发错误。不得不对多个线程的访问进行同步,这样也就意味着,多个线程必须先后对变量的值进行访问或者修改,这是一种以延长访问时间来换取线程安全性的策略。而ThreadLocal类为每一个线程都维护了自己独有的变量拷贝。每个线程都拥有了原创 2015-04-29 09:08:18 · 391 阅读 · 0 评论 -
LinkedHashMap和HashMap的比较使用
由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;public class TestLinkedHashMap { public static void ma原创 2015-04-25 12:03:31 · 374 阅读 · 0 评论 -
Java Web 之 Servlet - Listener、Filter、Decorator 精辟
Listener-监听器Listener为在Java Web中进行事件驱动编程提供了一整套事件类和监听器接口.Listener监听的事件源分为ServletContext/HttpSession/ServletRequest三个级别: ServletContext级别 Listener 场景 ServletContextListener 响应ServletContext生命周期事件(创原创 2016-06-10 23:47:46 · 2478 阅读 · 0 评论