Java
文章平均质量分 70
likaiwalkman_Victor
这个作者很懒,什么都没留下…
展开
-
浅析 Java Thread.join()
一、在研究join的用法之前,先明确两件事情。1.join方法定义在Thread类中,则调用者必须是一个线程,例如:Thread t = new CustomThread();//这里一般是自定义的线程类t.start();//线程起动t.join();//此处会抛出InterruptedException异常 2.上面的两行代码也是在一个线程里面执行的。 以上转载 2014-06-15 23:16:27 · 357 阅读 · 0 评论 -
mybatis中的#和$的区别?
2013-07-26 17:31:25| 分类: ibatis | 标签:ibatis mybatis # $ 区别 |举报|字号 订阅1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,转载 2014-04-10 22:28:09 · 476 阅读 · 0 评论 -
Java查看系统分割符
System. getProperty("line.separator","\r\n");原创 2014-03-27 01:13:57 · 493 阅读 · 0 评论 -
wait、notify、notifyAll
wait( ) tells the calling thread to give up the monitor and go to sleep until some other thread enters the same monitor and calls notify( ). notify( ) wakes up the first thread that called wait( )转载 2014-05-28 23:24:00 · 536 阅读 · 0 评论 -
JAVA NIO 简介
1. 基本 概念IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。所有语言运行时系统提供执行 I/O 较高级别的工具。 (c 的 printf scanf,java 的面向对象封装 )2. Java 标准 io 回顾Java 标准 IO 类库是 io 面向对象的一种抽象。基于本地方法的底层转载 2014-05-25 12:30:36 · 398 阅读 · 0 评论 -
Java 8:HashMap的性能提升
HashMap是一个高效通用的数据结构,它在每一个Java程序中都随处可见。先来介绍些基础知识。你可能也知道,HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶里。桶的数量通常要比map中的记录的数量要稍大,这样每个桶包括的值会比较少(最好是一个)。当通过key进行查找时,我们可以在常数时间内迅速定位到某个桶(使用hashCode()对桶的数量进行取模)以及要转载 2014-04-26 21:48:50 · 426 阅读 · 0 评论 -
为什么要用散列表(哈希表,hashtable)
数据结构hashtableHash表不是直接直接把关键字作为数组下标,而是根据关键字计算出下标。-------算法导论 数组是一种支持直接访问的数据结构,使用确定的位置来存储和检索数据,十分高效。对数组操作时,隐含的一个动作是通过 特定的规律来确定下标。例如一张图片像素所组成的二维数组中,通过行数a和列数b可以得到二维下标(a-1,b-1)。 大家对于数列都转载 2014-04-14 23:16:41 · 570 阅读 · 0 评论 -
HashMap的底层实现
hashtable数据结构编程语言目录(?)[+]1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不转载 2014-04-14 23:16:14 · 2431 阅读 · 0 评论 -
一个简单的多线程示例
public class ThreadTestCase extends Thread { private static int share = 0; @Override public void run() { share = share + 1; System.out.println(share); try { ThreadTestCase.sleep(2000);原创 2014-01-22 18:38:28 · 510 阅读 · 0 评论 -
Java守护线程
Java有两种Thread:“守护线程Daemon”与“用户线程User”。我们之前看到的例子都是用户,守护线程是一种“在后台提供通用性支持”的线程,它并不属于程序本体。从字面上我们很容易将守护线程理解成是由虚拟机(virtual machine)在内部创建的,而用户线程则是自己所创建的。事实并不是这样,任何线程都可以是“守护线程Daemon”或“用户线程User”。他们在几乎每个方面都是转载 2014-06-16 22:27:32 · 398 阅读 · 0 评论 -
一道面试题看 HashMap 的存储方式
我们公司招人喜欢问算法题和一些基础知识。今天我们一个面试官在面试候选人之前在办公室对我们说他准备问一个这样的问题:在 HashMap 中存放的一系列键值对,其中键为某个我们自定义的类型。放入 HashMap 后,我们在外部把某一个 key 的属性进行更改,然后我们再用这个 key 从 HashMap 里取出元素,这时候 HashMap 会返回什么?我们办公室几个人答案都不一致,有的转载 2014-05-17 10:23:55 · 499 阅读 · 0 评论 -
Spring中@Autowired注解、@Resource注解的区别
Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。 @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的,分是nam原创 2014-05-12 19:06:51 · 442 阅读 · 0 评论 -
《Thinking in Algorithm》12.详解十一种排序算法
分类: Thinking in Algorithm2014-04-10 01:32 3402人阅读 评论(67) 收藏 举报排序算法堆排序冒泡排序快速排序希尔排序目录(?)[+]排序算法在算法中占着很重要的地位,很多算法的实现都是基于排序算法的(如搜索算法和合并算法)。所以排序算法也是笔试面试中必考内容。但是不管他怎么考,也就是那几种算法,一般不会超转载 2014-04-14 23:13:50 · 663 阅读 · 0 评论 -
Template Method模式
在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的。Template Method提供了这种情况的一个实现框架。 Template Method模式是采用继承的方式实现这一点:将逻辑(算法)框架放在抽象基类中,并定义好细节的接口,子类中实现细节。 St转载 2014-03-16 19:32:40 · 468 阅读 · 0 评论 -
深入了解Struts2返回JSON数据的原理及具体应用范例
早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具体应用了,但苦于一直忙于工作难以抽身,渐渐的也淡忘了此事。直到前两天有同事在工作中遇到这个问题,来找我询问,我又细细地给他讲了一遍之后,才觉得无论如何要抽一个小时的时间来写这篇文章,从头到尾将Struts2与JSON的关系说清楚。 其实网络中,关于这个问题的答案已是海量,我当初也是从转载 2014-03-12 23:15:45 · 449 阅读 · 0 评论 -
线程的start()方法和run()方法的区别
下面这段代码给出了详细的queb转载 2014-06-16 22:35:04 · 746 阅读 · 0 评论 -
Java追加文件内容的三种方法
import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.RandomAcce转载 2014-05-12 20:25:59 · 495 阅读 · 0 评论 -
获取Spring的Bean持有容器对象的方法
一、在配置的Bean的AppicationContext对象属性原创 2014-05-11 22:51:15 · 479 阅读 · 0 评论 -
体验 Spring 的 Object/XML 映射支持
使用 Spring 框架进行编组和解组在 Java™ Platform Enterprise Edition (Java EE) 社区内,Spring 正在成为一个非常受欢迎的框架。Spring 的最新版本的特性之一是它的 Object/XML (O/X) 映射支持。这个 API 支持开发人员在 Java 对象和 XML 之间来回转换。在本文中,您将学习如何使用 Sprin转载 2014-03-13 00:16:36 · 755 阅读 · 0 评论 -
Java字符串之性能优化
基础类型转化成String在程序中你可能时常会需要将别的类型转化成String,有时候可能是一些基础类型的值。在拼接字符串的时候,如果你有两个或者多个基础类型的值需要放到前面,你需要显式的将第一个值转化成String(不然的话像System.out.println(1+'a')会输出98,而不是"1a")。当然了,有一组String.valueOf方法可以完成这个(或者是基础类型对应的包装转载 2014-03-24 19:40:20 · 429 阅读 · 0 评论 -
动态代理
Java代理适用于简单的情况,例如在单独的对象或类中包装方法调用。然而JDK提供的动态代理仅能与接口协同工作。对于代理类,你得使用字节码操作库,比如CGLIB、ASM或Javasisst。转载 2014-03-16 22:15:36 · 482 阅读 · 0 评论 -
Buffer中的flip()
此方法位于:java.nio.Buffer Buffer是一个用于特定基本类型数据的容器。 缓冲区是特定基本类型元素的线性有限序列。除内容外,缓冲区的基本属性还包括容量(capacity)、限制(limit)和位置(position):缓冲区的capacity是它所包含的元素的数量。缓冲区的capacity不能为负并且不能更改。缓冲区的limit 是第一个不应该读取或写入的元转载 2014-05-25 12:29:35 · 409 阅读 · 0 评论 -
“浅拷贝”与“深拷贝”
C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制:(1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:[cpp] view plaincopyclass Rect { private: int width; int height; }; R转载 2014-05-15 22:02:30 · 365 阅读 · 0 评论 -
自定义实现类似Java的Integer.parseInt(String str)函数
public static int stringToInteger(String str) { if (str == null || str == "") { throw new RuntimeException("not a valid number"); } byte[] bytes = str.getBytes(); int digits = bytes.length;原创 2014-05-15 21:09:54 · 1010 阅读 · 0 评论 -
Set和List之间的相互转换
List list = new ArrayList(set);Set set = new HashSet(list);转载 2014-04-25 21:17:00 · 1039 阅读 · 0 评论 -
Struts2如何返回XML数据
与输出JSON一样,只是用response.getWriter().print("CONTENT")即可。原创 2014-03-12 23:52:52 · 542 阅读 · 0 评论 -
Struts2如何返回一个JSON类型的字符串
Struts2返回JSON数据类型的时候,无需提供action的配置(注意,指定方法名): -->将JSON对象返回,在Action里的用法:public void doAction() { HttpServletResponse response = ServletActionContext.getResponse(); PrintWriter writer;原创 2014-03-12 23:37:32 · 1377 阅读 · 0 评论 -
抽象方法 具体方法 钩子方法
基本方法又可以分为三种:抽象方法(Abstract Method)、具体方法(Concrete Method)和钩子方法(Hook Method)。这是我在《java与模式》书里看到的一种说法,觉得很新鲜,因为在我的印象中没有以这种方式来对方法分类,可能这也就是在设计模式中的叫法。这三种方法也是在书中的TemplateMethod模式中提及到的,因此必不可少的要再来拿模板方法来说事转载 2014-03-16 19:29:51 · 1708 阅读 · 0 评论 -
windows下nginx+tomcat+memcache负载均衡集群搭建
使用nginx 做负载均衡 memcached处理session共享 环境 windows 7 X64 java : jdk7 nginx : 1.5.0 http://nginx.org/ tomcat :6.37.0 X 3 memecached : http://memcached.org/ 一 1 JDK的安装不多说转载 2014-07-10 21:43:05 · 638 阅读 · 0 评论 -
15个顶级Java多线程面试题及回答
Java 线程面试问题在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足够的Java线程与并发方面的知识,因为候选人中有很多只浮于表面。用于直转载 2014-06-15 22:22:37 · 453 阅读 · 0 评论 -
concurrent笔记
1、A Java program ends when all its threads finish (more specifically, when all its non-daemonthreads finish). If the initial thread (the one that executes the main() method) ends, the restof the t原创 2014-05-29 23:27:59 · 585 阅读 · 0 评论 -
MySQL源码解读
http://www.zhdba.com/mysqlops/category/mysql-source-code/转载 2014-05-13 21:58:28 · 588 阅读 · 0 评论 -
JDK动态代理--Demo
Java代理有JDK动态代理、CGLIB代理,这里只说下JDK动态代理,JDK动态代理主要使用的是JAVA反射机制(既java.lang.reflect包)原理是(歌手、经纪人做例子): 建立一个公共的接口,比如:歌手public interface Singer; 用具体的类实现接口,比如:周杰伦,他是歌手所以实现Singer这个类,class MyS转载 2014-03-16 23:09:51 · 539 阅读 · 0 评论 -
动态代理的意义
人家是动态编程,需要在原来的方法的功能基础上再添加一些功能,而不用改变这个方法的签名,原来调用这个方法的类依然能正常工作。比如,现在要把一段文本发送给另一个人,普通方法是 void send(File a),现在我们弄出个特性,就像 Spring AOP 那样,在 send 之前给这个 a 压缩一下。原来的程序没有压缩功能,现在我们需要添加的话而不改变原来所有的代码的话就得用类似 AOP 这样转载 2014-03-16 22:26:44 · 534 阅读 · 0 评论 -
7K月薪面试题____银行业务调度系统
目录(?)[-]题目要求关系结构分析图功能细分代码实现NumberManager类NumberMechine类CustomerType枚举类Constants常量类ServiceWindow类 业务调度窗口核心MainClass 用于测试另附关于switch的参数类型---------------------------------------- andro转载 2014-02-23 18:43:30 · 632 阅读 · 0 评论 -
REST WebService与SOAP WebService的比较
在SOA的基础技术实现方式中WebService占据了很重要的地位,通常我们提到WebService第一想法就是SOAP消息在各种传输协议上交互。近几年REST的思想伴随着SOA逐渐被大家接受,同时各大网站不断开放API提供给开发者,也激起了REST风格WebService的热潮。SOAP 什么是SOAP,我想不用多说,google一把满眼都是。其实SOAP最早是针对RPC的一转载 2014-01-24 23:24:31 · 446 阅读 · 0 评论 -
eclipse不自动弹出提示(alt+/快捷键失效)
最近公司电脑上的Eclipse没有了自动提示功能,也不是全部不提示,大多数情况下按下“alt+/”键还会产生提示,但是当我在java项目中邪main方法和syso的时候,“alt+/”则会失效,今天在网上搜索了一下结果,主要有一下几种方法: 1.次方法用于没有一点提示的情况:依次打开eclipse上面的windows ——preferences ——java ——editor —— co转载 2015-01-31 22:33:53 · 425 阅读 · 0 评论 -
Tutorial Java – #8 Understand Stack and Heap
In order to have a deep understanding of the Object Oriented Programming in Java or any other OOP language (like C#) you must know how things are managed internally by the Java process and by the JVM.转载 2015-02-10 10:57:06 · 542 阅读 · 0 评论 -
什么是句柄
什么是句柄句柄实际上是一个数据,是一个Long (整长型)的数据。句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等 为什么要使用句柄Windows是一个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需转载 2015-02-27 12:48:40 · 498 阅读 · 0 评论 -
Matcher: find vs matches
matches tries to match the expression against the entire string and implicitly add a ^ at the start and $ at the end of your pattern, meaning it will not look for a substring. Hence the output of this转载 2015-03-25 15:26:40 · 442 阅读 · 0 评论