Java
nlwangxin
这个作者很懒,什么都没留下…
展开
-
集合在Java中的基础应用
List 接口对Collection进行了简单的扩充,它的具体实现类常用的有ArrayList和LinkedList。你可以将任何东西放到一个List容器 中,并在需要时从中取出。ArrayList从其命名中可以看出它是一种类似数组的形式进行存储,因此它的随机访问速度极快,而LinkedList的内 部实现是链表,它适合于在链表中间需要频繁进行插入和删除操作。在具体应用时可以根据需要自由选择。前面原创 2010-01-02 18:21:00 · 579 阅读 · 0 评论 -
Hashmap实现原理
0.参考文献: hash算法 (hashmap 实现原理) Java实现的散列表 1.HashMap的数据结构 数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要提起的哈希表,哈希表有多种不同的实现方法,我接下来解释的是最常用的一种方法—— 拉链法,我们可转载 2014-07-30 18:34:37 · 555 阅读 · 0 评论 -
完全跨域的单点登录
本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/20545513,转载请注明。 完全跨域的单点登录实现方案基本和上篇文章介绍的一样,只不过生成ticket的过程更复杂些。上篇文章中的项目是不能完全跨域的,由于多个应用系统以及认证系统域不同,也没有共同的父域,导致登录后,认证系统向浏览器写的ticket在其它转载 2014-08-18 14:56:32 · 822 阅读 · 0 评论 -
共同父域下的单点登录
本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/20466351,转载请注明。 单点登录(Single Sign On),简称为SSO,SSO不仅在企业级开发很常用,在互联网中更是大行其道。随便举几个例子,比如我们登录新浪微博后,再访问新浪首页后,我们发现,已经自动登录了;再比如我们登录CSDN后,可以写博转载 2014-08-18 14:54:37 · 777 阅读 · 0 评论 -
Java中的数字证书的生成及维护方法
Java中的keytool.exe可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。 每一个证书库是一个文件组成,它有访问密码,在首次创建时,它会自动生成证书库,并要求指定访问证书库的密码。转载 2014-09-22 15:59:27 · 2836 阅读 · 0 评论 -
Java并发编程:线程池的使用
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池来达到这样的转载 2015-06-29 14:03:29 · 690 阅读 · 0 评论 -
eclipse设置代码自动化折行
eclipse设置代码自动折行eclipse中,可以使用ctrl + shift + f 来格式化代码,但格式化后的代码不方便阅读,有时还得手动重新格式化一遍。 可以采用wordwrap来实现eclipse代码的自动折行,步骤如下: 【Help】–【Install New Software…】; 【Add】name:wordwrap,Location:http://ahtik.com/eclipse原创 2016-01-11 11:24:29 · 2069 阅读 · 0 评论 -
Android studio使用jni
Android开发中难免会调用本地接口,在android studio中这件事变得非常简单了,除了Google官方文档介绍的非常详细之外,其他的文章也针对细节的一些技术做了很详细的介绍。 开发前准备 在sdk tools中把 LLDB、CMake 和 NDK下载下来,官方文档要求as的版本至少是2.2以上 建项目的时候包含默认c++代码的这种方式就不说了,参考官方转载 2018-02-05 16:46:00 · 376 阅读 · 0 评论 -
Java代理
引言: 在一个系统中,假设我们需要对所有方法实施监控,允许在其之前或者之后执行一些通用的操作,比如打开关闭交易,验证用户权限,记录日志,我们应该怎么做呢?在每个方法体中都添加这些代码无疑会给我们带来巨大的工作量,即使完成了项目,实现了功能,以后的维护工作也绝对会令人头疼。借助AOP(Aspect Oriented Programming)我们可以解决以上问题,那么AOP的内部实现机制是什么呢?动转载 2014-07-30 18:10:20 · 657 阅读 · 0 评论 -
详解JVM的内存管理机制
我们在深入Java核心系列文章中给大家讲过JVM中的栈和局部变量。在做Java开发的时候常用的JVM内存管理有两种,一种是堆内存,一种是栈内存。堆内存主要用来存储程序在运行时创建或实例化的对象与变量,例如:我们通过new MyClass()创建的类MyClass的对象。而栈内存则是用来存储程序代码中声明为静态(或非静态)的方法。下面我给大家举个例子: 代码 public clas转载 2014-07-30 18:16:31 · 732 阅读 · 0 评论 -
Java 高级知识
Java 的一些高级知识你掌握了吗? 我最近在做一个网络通信的项目,本文中的提到的内容全都使用到了,主要有IO,类加载器,序列化,线程池 等等.这里做一下整理。 --------------------------修饰符------------------------------ java48个修饰符有以下几个不常用的: 不常用到的关键字有:const,goto,native,st转载 2014-07-30 18:12:28 · 853 阅读 · 0 评论 -
猜数字游戏
package weekday;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.HashSet;import java.util.Random;import java.util.Set;import javax原创 2010-01-02 18:36:00 · 603 阅读 · 0 评论 -
有用的Java代码片段
下面是20个非常有用的Java程序片段,希望能对你有用。 1. 字符串有整型的相互转换 Java代码 String a = String.valueOf(2); 或者 String a=2+""; //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int原创 2010-05-21 10:57:00 · 687 阅读 · 0 评论 -
java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排
<br />算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。 <br />一个算法应该具有以下五个重要的特征: <br />1.有穷性: 一个算法必须保证执行有限步之后结束; <br />2.确切性: 算法的每一步骤必须有确切的定义; <br />3.输入:一个算法有0个或多个输入,以刻画运算对象的初始情况; <br />4.输出:一个算法有一个或多个输出,原创 2010-06-21 11:37:00 · 1225 阅读 · 0 评论 -
大并发量,大数据量基于SSH应用程序架构有关问题
首先介绍下情况,并发量最多可达到万级,应用程序架构是基于SSH的,系统级是通过Apache分发,集群配置。但是目前情况不理想,我对系统级架构都是在钻研期间,下面是自己查的总结,但还是不怎么理想,各位熟悉的敬请赐教 1. 对于应用程序级,在SSH框架中,性能优化的措施有: 1)节省事务占用内存,通过AOP分配不同业务层,节省事务内存开支 2)对常用的数据进行缓存,提高性能,转载 2013-04-08 17:34:49 · 6609 阅读 · 1 评论 -
String str = new String("abc")内存分配问题
String str1="abc"; String str2=new String("abc"); 有啥区别? Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空转载 2013-03-27 12:19:46 · 2057 阅读 · 0 评论 -
过滤器与拦截器的区别
过滤器,是在javaweb中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者struts的action前统一设置字符集,或者去除掉一些非法字符 拦截器,是在面向切面编程的就是在你的se转载 2013-10-28 16:02:29 · 646 阅读 · 0 评论 -
Java基础知识
从Core Java到Thinking in JavaJava是一种跨平台、面向对象、给予网络及支持多媒体的编程语言,并可插入到HTML文档中。1.在html文档中添加链接,即在标签间插入以下代码:2.封装是一种将代码及其处理的数据绑定在一起编程机制;3. 经Javac把每个类都编译成独立的文件,为 类名.class ,它包括可移植的中间语言j-代码。坐标时按像素原创 2010-01-02 18:30:00 · 1089 阅读 · 1 评论 -
Java堆栈解析
1、RAM和ROM区别 RAM-RamdomAccessMemory随机存取存储器(断电后数据会丢失),高速存取,读写时间相等,且与地址无关,如计算机内存等。 ROM-Read Only Memory只读存储器。断电后信息不丢失,如计算机启动用的BIOS芯片。存取速度很低,(较RAM而言)且不能改写。由于不能改写信息,不能升级,现已很少使用。 2、栈(stack)与堆(heap)都是Ja转载 2014-07-30 18:11:17 · 740 阅读 · 0 评论 -
生成Android平台bks证书
The Legion of the Bouncy Castle bcprov-ext-jdk15on-159.jar (1)下载好的jar包放到jdk\jre\lib\ext目录下 (2)在jdk\jre\lib\security\java.security文件中新增 security.provider.11=org.bouncycastle.jce.provider.Boun转载 2018-02-06 17:39:21 · 2832 阅读 · 0 评论