java基础
lljliulljn
关注区块链开发,移动开发,大数据,云计算,软件架构
展开
-
junit单元测试工具类
package org.benpaobang.system.utils;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import org.apache.commons.httpclient.HttpClient;import org.apache.common原创 2016-05-26 11:25:12 · 1104 阅读 · 0 评论 -
Java并发编程:线程池的使用
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池转载 2016-06-22 14:21:51 · 314 阅读 · 0 评论 -
JVM原理和优化
JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境.1.创建JVM装载环境和配置2.装载JVM.dll3.初始化JVM.dll并挂界到JNIENV(JNI调用接口)实例4.调用JNIEnv实例装载并处理class类。在我们运行和调试Java程序的时候,经常会提到一个JVM的概念.JVM是J转载 2016-06-22 14:27:31 · 323 阅读 · 0 评论 -
数据库悲观锁和乐观锁
一下是转载的oracle和MySQL两种数据库悲观锁和乐观锁机制及乐观锁实现方式:一、OracleOracle数据库悲观锁与乐观锁是本文我们主要要介绍的内容。有时候为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突。为了解决这个问题,大多数数据库用的方法就是数据的锁定。数据的锁定分为两种方法,第一种叫做悲观锁,第二种叫做乐观锁。什么叫悲观锁呢,悲观转载 2016-06-22 14:28:51 · 419 阅读 · 0 评论 -
深入理解Java:String
一、Java内存模型 按照官方的说法:Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。 JVM主要管理两种类型内存:堆和非堆,堆内存(Heap Memory)是在 Java 虚拟机启动时创建,非堆内存(Non-heap Memory)是在JVM堆之外的内存。简单来说,非堆包含方法区、JVM内部处理或优化所需的内存(如 J原创 2016-06-22 15:17:14 · 1180 阅读 · 1 评论 -
HashMap的工作原理
HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入原创 2016-06-22 16:03:23 · 292 阅读 · 0 评论 -
TCP三次握手 与 四次断开 的详细过程剖析
Linux Socket过程详细解释(包括三次握手建立连接,四次握手断开连接)我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web 服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型 有哪些?还有socket的基本函数,这些都是转载 2016-06-22 16:07:37 · 623 阅读 · 0 评论 -
cookie和session的区别,session的生命周期,
这些都是基础知识,不过有必要做深入了解。先简单介绍一下。二者的定义:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你。原创 2016-06-22 16:27:53 · 1157 阅读 · 1 评论 -
JavaBean和Map转换封装类
/** * Map工具类 * * @author jqlin */public class MapUtils { /** * 从map集合中获取属性值 * * @param * @param map * map集合 * @param key * 键对原创 2016-08-10 10:43:11 · 475 阅读 · 0 评论 -
HttpClient4.3.6版本以上的http和https请求写法
importjava.io.IOException;importjava.io.UnsupportedEncodingException;importjava.security.cert.CertificateException;importjava.security.cert.X509Certificate;importja原创 2016-08-12 13:58:23 · 1035 阅读 · 0 评论 -
线程池的原理及实现
1、线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。 一个线程转载 2016-06-22 14:19:52 · 287 阅读 · 0 评论 -
软件设计的原则
Don’t Repeat Yourself (DRY) DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码让他们以一些合适的参数调用这个新的方法。参考:htt原创 2016-06-21 15:26:03 · 2947 阅读 · 0 评论 -
利用反射进行操作的一个工具类
package org.benpaobang.system.utils;import java.lang.reflect.Field;/*** 利用反射进行操作的一个工具类** @ClassName: ReflectUtil* @Description: TODO(这里用一句话描述这个类的作用)* @author llj* @date 2013年12月1日 下午5:原创 2016-05-26 11:46:18 · 570 阅读 · 0 评论 -
HashTable
有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,value)方法保存起来,然后通过get(key)方法获取相对应的value值。一个是前面提到的HashMap,还有一个就是马上要讲解的HashTable。对于HashTable而言,它在很大程度上和HashMap的实现差不多,如果我们对HashMap比较了解的话,对Has转载 2016-05-19 14:28:56 · 240 阅读 · 0 评论 -
HashSet
对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保存元素。所以如果对HashMap比较熟悉,那么HashSet是so easy!!一、定义public class HashSet extends AbstractSet implements Set, Cloneable, java.io.Serializable转载 2016-05-19 14:41:00 · 216 阅读 · 0 评论 -
ArrayList
一、ArrayList概述 ArrayList是实现List接口的动态数组,所谓动态就是它的大小是可变的。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。默认初始容量为10。随着Arra转载 2016-05-19 14:57:30 · 226 阅读 · 0 评论 -
集合大家族
在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList、HashMap、HashSet,也有不常用的Stack、Queue,有线程安全的Vector、HashTable,也有线程不安全的LinkedList、TreeMap等等!原创 2016-05-19 15:02:31 · 351 阅读 · 0 评论 -
JAVA中文乱码解决之道
乱码,我们前台展示的杀手,可能有些朋友和我的经历一样:遇到乱码先按照自己的经验来解决,如果没有解决就google,运气好一搜就可以解决,运气不好可能够你折腾一番了。LZ之所以写这个系列博客就是因为遇到这个令人讨厌的问题,虽然是小问题但又不得不解决。在这个系列博文中LZ并没有阐述归纳乱码的方法,出现乱码的原因各式各样但根本原因就是编码转换过程中的格式不一样,所以我们只需要了解了java在运行转载 2016-05-19 15:19:08 · 280 阅读 · 0 评论 -
ConcurrentHashMap
从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable转载 2016-05-19 16:02:37 · 302 阅读 · 0 评论 -
el表达式简介
el表达式是JSP里标签库的一个重要的基础语言,是学好JSTL的基础,它简化了寻常获取页面数据的方式,如 request.getAttribute(); session.getAttribute() 等。用el表达式则直接调用setAttribute()方法中参数name值即可。其实说简单点,el表达式就是用来代替传统getAttribute方法来获取setAttribute中的值。el表原创 2016-06-29 15:50:34 · 318 阅读 · 0 评论 -
Java 并发工具包 java.util.concurrent
译序本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新:http://tutorials.jenkov.com/java-util-concurrent/index.html。本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以去 Java并发工具包java.util.concurrent用户指南中英文对照阅读版.pdf[带书签] 进行下载。转载 2016-06-16 14:15:08 · 442 阅读 · 0 评论 -
mysql 表结构生成java实体与mybatis映射
service_merchant | CREATE TABLE service_merchant ( id int(11) unsigned NOT NULL AUTO_INCREMENT, merchant_name varchar(32) NOT NULL COMMENT ‘服务商名称’, coop_type tinyint(2) NOT NULL DEFAULT ‘0’ CO转载 2016-08-12 14:09:31 · 3162 阅读 · 0 评论