- 浏览: 14181 次
- 性别:
- 来自: 长沙
最新评论
文章列表
比较详细的一个网站,对应论坛里东西比较多
http://www.cnblogs.com/vus520/archive/2012/11/15/2771551.html
java Android SDK安装与环境变量配置以及开发第一个Android程序
http://blog.sina.com.cn/s/blog_9e245c690101jurr.html
我曲折的Android Eclipse开发环境搭建之路http://my249645546.iteye.com/blog/1922420
http://www.douban.com/group/topic/3636 ...
ThreadLocal工作原理
- 博客分类:
- 线程
在这篇文章中,总结了一下面试过程中遇到的关于ThreadLocal的内容。总体上说,这样回答,面试算是过得去了。但是,这样的回答,明显仅仅是背会了答案,而没有去研究ThreadLocal的最根本的实现原理。
一共有两个问题。
1、每个线程的变量副本是存储在哪里的?
2、变量副本是怎么从共享的那个变量赋值出来的?源码中的threadlocal的初始值是什么时机设置的?
=====================================
最关键的问题是:ThreadLocal是怎么实现了多个线程之间每个线程一个变量副本的?它是如何实现共享变量的。
ThreadLocal提供了s ...
一、filter基于filter接口中的doFilter回调函数,interceptor则基于Java本身的反射机制; 二、filter是依赖于servlet容器的,没有servlet容器就无法回调doFilter方法,而interceptor与servlet无关; 三、filter的过滤范围比interceptor大,filter除了过滤请求外通过通配符可以保护页面、图片、文件等,而interceptor只能过滤请求,只对action起作用,在action之前开始,在action完成后结束(如被拦截,不执行action); 四、filter的过滤一般在加载的时候在init方法声明,而inter ...
Eclipse使用Maven构建web项目详解
- 博客分类:
- Maven
Maven无论在标准化项目结构,还是在jar的依赖管理上等,好处都是非常突出的。但是使用也有些门槛,本文详细讲解了Eclipse构建Maven web项目的方法
转自:http://www.devnote.cn/article/148.html
测试于:m2e 1.4.0, Maven 3.0.5, Eclipse Indigo注:内容操作基于eclipse java视图
步骤如下:
Ctrl + N调出新建窗口,双击选择Maven Project
本文介绍struts2 2013年7月份高危漏洞的测试及快速解决方法
转自:http://www.devnote.cn/article/150.html
此次漏洞的严重性不言而喻,几乎所有所有struts2网站,项目无一幸免。
漏洞测试方法:
关闭项目所在linux服务器,在项目任意action地址后追加:
?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'shutdown','-h','now'})).start()}
快速修复方法:
http://www.iteye.com/news/28466-jeecg
http://www.jeecg.org/
1、 散列表要解决的一个问题就是散列值的冲突问题,通常是两种方法:链表法和开放地址法。链表法就是将相同hash值的对象组织成一个链表放在hash值对应的槽位;开放地址法是通过一个探测算法,当某个槽位已经被占据的情况下继续查找下一个可以使用的槽位。java.util.HashMap采用的链表法的方式,链表是单向链表,因此在删除过程中要自己维持prev节点,我想不采用双向链表是从节省空间考虑。一个典型的查找过程:
Java代码
for (Entry<
转:Java 位移运算符的原理和作用
- 博客分类:
- 位运算
1.左移操作: x << n x可以是byte, short, char, int, long基本类型, n(位移量)只能是int型 编译器的执行步骤: 1) 如果x是byte, short, char类型, 则将x提升为int; 2) 如果x是byte, short, char, int类型, 则n被重新赋值(过程是:取n的补码的低5位再转成十进制的int值,相当对n取32模: n=n%32); 如果x是long型, 则n被重新赋值(过程是:取n的补码的低6位再转成十进制的int值,相当对n取64模: n=n%64); (因为int类型为4个字节,即32位,移动32位将 ...
** *@author annegu *@date 2009-12-02 */ Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,就正好复习一下。网上关于hashmap的文章很多,但到底是自己学习的总结,就发出来跟大家一起分享,一起讨论。 1、hashmap的数据结构 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,hashmap也不例外。Hashmap实际上是一个数组和链表的结合体(在数据结构中,一般称之为“链 ...
Java与XML(二):使用Dom4j 操作 XML 文件
1. Dom4j 介绍
Dom4j是开放源代码的解析XML文件的框架,它拥有本地的XPath支持,但是不支持使用XPath选择节点
虽然 DOM4J 代表了完全独立的开发结果,但最初,它是JDOM 的一种智能分支。它合并了许多超出基本 XML文档表示的功能,包括集成的 XPath支持、XML Schema 支持 以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,它通过 DOM4J API 和标准 DOM 接口具有并行访问功能。从2000下半年开始,它就一直处于开发 之中。为支持所有这些功能, ...
Java与XML(一):采用DOM操作XML文件
1.DOM介绍
DOM 是用与平台和语言无关的方式表示XML文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构, 然后才能做任何工作。 由于它是基于信息层次的,因而 DOM 被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。 它还可以在任何时候在树中上下导航, 而不是像 SAX 那样是一次性的处理。 DOM使用起来也 ...
Collection:List、Set
Map:HashMap、HashTable
如何在它们之间选择
一、Array , Arrays
Java所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。
1、
效率高,但容量固定且无法动态改变。
array还有一个缺点是,无法判断 ...
java常用排序算法总结<一>【转】
http://yangfuchao418.iteye.com/blog/1161548
java常用排序算法总结<二>【转】
http://yangfuchao418.iteye.com/blog/1161552
java面试中常用的排序算法
http://blog.csdn.net/fsx892512592/article/details/6103278
常用排序算法分析与实现(Java版)
http://www.cnblogs.com/ivanjack/archive/2010/09/26/1836061.html
class BinaryTree
{
class Node
{
private Comparable data;
private Node left;
private Node right;
public void addNode(Node newNode)
{
if (newNode.data.compareTo(this.data) < 0)
{
if (this.left == null)
{
this.left = newNode;
} else
{
...
相关文章链接(如有不足之处请留言补充): 面试宝典目录-文章链接 1、可能会让你写一段Jdbc连Oracle的程序,并实现数据查询. 答:程序如下:
Java代码
import java.sql.*;
public