java
文章平均质量分 73
晨阳夕露
这个作者很懒,什么都没留下…
展开
-
003-Java虚拟机JVM之内存模型
Java知识点总结系列目录类加载器将Class文件读取后,放到运行时数据区,然后执行引擎执行或调用本地接口、本地库。1、方法区(元空间)线程共享JDK1.8后叫元空间Metaspace,存储在本地内存中JDK1.8前叫永久代PermGen,存储在堆上存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。由JVM自己使用运行时常量池:运行时常量池是方法区的一部分,用于存放编译期生成的各种 字面量 和 符号引用相关JVM参数设置-XX:PermS原创 2020-05-14 17:08:12 · 3982 阅读 · 3 评论 -
004-Java虚拟机JVM之类加载
Java知识点总结系列目录**1. **原创 2020-05-10 11:26:35 · 347 阅读 · 0 评论 -
hibernate 延迟加载
Hibernae 的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载。Hibernate 通过这种延迟加载来降低系统的内存开销,从而保证 Hibernate 的运行性能。下面先来剖析 Hibernate 延迟加载的“秘密”。集合属性的延迟加载当 Hibernate 从数据库中初始化某个持久化实体时,该实体的集合属性是否随持久化转载 2012-10-31 15:45:13 · 880 阅读 · 1 评论 -
java实现简单的单点登录
摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从多个方面和角度给出了对单点登录(SSO)的全面分析,还并且讨论了如何转载 2012-10-16 17:20:24 · 2391 阅读 · 0 评论 -
Java实践之路——线程
1、概念:下面是摘自百度百科对线程的定义——————————————————————————————————————线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行原创 2011-12-19 14:24:36 · 676 阅读 · 0 评论 -
Java实践之路——多线程之生产者消费者模型
一、环境1、平台:MyEclipse8.5/JDK1.5二、概述1、目标:用java实现生产者消费者模型2、生产者消费者模型描述1)、生产者仅仅在仓储未满时候生产,仓满则停止生产。2)、消费者仅仅在仓储有产品时候才能消费,仓空则等待。3)、当消费者发现仓储没产品可消费时候会通知生产者生产。4)、生产者在生产出可消费产品时候,应该通知等待的消费者去消费。三、开原创 2012-09-25 11:25:31 · 1230 阅读 · 0 评论 -
Lucene学习——初探搜索引擎
一、环境1、平台:myeclipse8.52、框架:Lucene2.9.4/htmlparser二、开发调试1、直接上源码吧,加了很多注释,应该可以看得明白,如下package org.cyxl.lucene.test;import java.io.File;import java.io.IOException;import java.util.ArrayLis原创 2012-09-19 23:46:38 · 2710 阅读 · 0 评论 -
Lucene学习——IKAnalyzer中文分词(二)
一、环境1、平台:MyEclipse8.5/JDK1.52、框架:Lucene3.6.1/IKAnalyzer2012/htmlparser二、目标1、整合前面连篇文章(Lucene学习——IKAnalyzer中文分词(一)和Lucene学习——初探搜索引擎),使该搜索引擎雏形支持中文站点2、试图发现些什么三、开发调试1、改写原有的搜索引擎程序,利用IKAnalyzer原创 2012-09-20 15:42:49 · 5402 阅读 · 0 评论 -
Lucene学习——IKAnalyzer中文分词(一)
一、环境1、平台:MyEclipse8.5/JDK1.52、开源框架:Lucene3.6.1/IKAnalyzer20123、目的:测试IKAnalyzer的分词效果二、开发调试1、下载框架 1)IKAnalyzer:http://code.google.com/p/ik-analyzer/downloads/list 2)Lucene:http://原创 2012-09-20 11:44:40 · 30293 阅读 · 17 评论 -
SSH学习之——Spring、Struts和Hibernate整合开发
一、环境1、测试平台:MyEclipse8.5/JDK1.7(1.5以上都OK)2、开源框架:Spring3.0/Struts2.1/Hibernate3.33、UI界面:HTML/JSP/struts2标签 二、具体步骤1、新建Web项目,此处命名为“ssh”2、添加Spring的支持。 1)利用平台自身带有的Spring支持(如果熟悉各个库的作用以及原创 2012-09-15 11:26:24 · 2596 阅读 · 3 评论 -
Comet:基于HTTP长连接的“服务器推”技术
一、背景 在做某类程序应用时,需要将服务器的响应自动的反馈给浏览器,而不是采用用户请求的方式。基于这样的应用还是比较多的,比如说网页聊天、实时消息提醒等等。所以我们需要这样一种技术来实现服务器主动的将信息推送到浏览器二、解决方案思考 1、定时请求。定义一个timer,浏览器每隔一段时间去请求服务器,然后配合ajax将结果显示到客户浏览器上。原创 2013-02-25 17:08:22 · 13024 阅读 · 6 评论 -
NIO Socket实现文件服务器
一、背景 很多时候我们都会用FTP工具来实现文件的上传下载功能,于是琢磨着也用java的相关知识来自己实现一个简单的文件服务器二、NIO Socket 考虑到文件的上传下载其实就是客户端和服务器进行通讯,然后进行数据交换。此时就可以采用Socket来实现。从JDK1.4版本以来java提供了更加高效的非阻塞形式的Socket,也就是NIO方式的Socket,通过原创 2013-02-26 17:29:18 · 5882 阅读 · 2 评论 -
Java实践之路(设计模式)——单例模式(Singleton)(更新)
背景以前写过单例模式的文章,这里根据最新的理解重新写一下单例模式的设计,主要写两种我认为最好的实现方式单例模式之内部类实现这里直接先上代码,后面总结class RepositoryClass{ private int num; //数据 private static class RepositoryClassHolder{ private static Repos原创 2017-03-16 11:31:59 · 729 阅读 · 0 评论 -
根据新浪天气API获取各地天气状况(Java实现)
1、很多时候我们会需要在自己的应用上面显示天气状况,这种情况我们只能借助第三方的API来进行实现2、这里我们讲一下如何获取新浪API提供的天气1)首先我们在浏览器中访问地址“http://php.weather.sina.com.cn/xml.php?city=%D6%D8%C7%EC&password=DJOYnieT8234jlsK&day=0”。这时我们看到的是一个关于重庆的天气状况原创 2012-05-25 16:44:58 · 20623 阅读 · 17 评论 -
算法——TOP K问题最小堆实现扩展
概述上文我们讲到TOP K问题最小堆的实现,采用的比较基本数据类型int。这里我们将扩展到比较对象代码实现这里我们直接上代码,这里的扩展最小堆我们取名为ExMinHeap,实现如下package org.cyxl.common;/** * 扩展最小堆,采用泛型,存储的对象必须实现Comparable接口原创 2019-07-02 16:00:50 · 1471 阅读 · 0 评论 -
算法——TOP K问题最小堆实现
1. 问题背景在实际应用中,我们经常会遇到在一大推数据中找出最大的几个数的问题,也就是我们提到的TOP K问题。K表示需要找出数据的数量2. 解决方案TOP K问题也有多种解决方案,比如排序,最后截取靠前或者靠后的K个数据。当数据量小的时候,排序解决起来当然可以,算法简单,排序算法也有很多现成的。当数据量很大时,维护一个很长的数组,不管是空间存储上还是排序耗费的时间上都可能难以接受。这时我们可以采用原创 2016-05-11 16:46:22 · 4637 阅读 · 0 评论 -
Apache Commons工具集简介
Apache Commons工具集简介apachecommonsjavabeanjdbc Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。下面是我这几年做开发过程中自己用过的工具类做简单介绍。 组件功能介绍BeanUtils提供了对于JavaBean进行各种操作,克隆对象,属性转载 2016-02-04 10:55:35 · 850 阅读 · 0 评论 -
Spring Boot应用之数据加密以及字段过滤
1、应用背景在使用Spring Boot开发基于restful类型的API时,对于返回的JSON数据我们经常需要对数据进行加密,有的时候我们还必须过滤掉一些对象字段的值来减少网络流量2、解决方案1)加密对返回的数据进行加密,我们必须对spring boot返回json数据前对数据进行拦截和加密处理,为了方便api调用解析还原数据,我们采用双向加密的方式,因为客户端需要解密为明文,加密的使用java本原创 2015-10-23 09:38:33 · 17950 阅读 · 5 评论 -
Java NIO和Netty框架(一)初探NIO
Java NIO概览原创 2015-11-05 15:29:03 · 1879 阅读 · 0 评论 -
Java线程面试题Top50
本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入Java小组。转载请参见文章末尾的要求。不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的转载 2014-08-21 15:30:37 · 1068 阅读 · 0 评论 -
SSH学习之——Spring面向方面编程AOP
一:概述众所周知,Spring是一个轻量级的、非侵入式的、独立于各种应用服务器的开源框架。它的两大方面被人们所熟知,也应用很广。那就是IOC(控制反转)和AOP(面向方面编程)。IOC是开发者不创建对象,但是描述创建它们的方式,对象由Spring容器根据描述来产生对象,这里特别需要指出的是Spring是依赖于接口编程的,所以描述创建对象时,改对象必须实现于对应的接口AOP允许开发者对横原创 2012-09-13 10:50:49 · 4760 阅读 · 0 评论 -
Socket发送邮件——java
直接上代码吧,根据代码中的注释进行理解import java.io.*;import java.net.*;import sun.misc.*;public class SendEmail { PrintWriter output; BufferedReader input; String string; Socket socket = null; String user =原创 2012-08-06 17:03:27 · 3471 阅读 · 4 评论 -
Tomcat相关设置记录
1、设置网站为默认网站 一般我们在浏览器中输入"http://localhost:8080"显示的结果是Tomcat的网页,现在需要这个网址指向我们的网站,设置如下 找到tomcat安装目录下的conf目录下的server.xml,找到节点Host,在Host节点之间加入如下配置 备注:默认打开当然是你项目的index.jsp或者in原创 2012-03-15 14:17:09 · 1135 阅读 · 0 评论 -
Java实践之路(设计模式)——工厂模式(简单工厂)
1、概述:工厂模式中一般会分为三种方式。根据创建的类别,我这样分类。(1)创建一类对象的简单工厂和工厂方法;(2)创造多个类别的抽象工厂。2、作用:增加代码重用性和扩展性,比如说针对不同数据库的实现的时候就可以使用简单工厂模式来达到数据库的分离(解耦),这样在装换数据库时,面对的修改代价将降低3、对比:三种的方式的抽象级别从简单工厂->工厂方法->抽象工厂依次递增,抽象级别越高,可扩展性越原创 2011-12-16 21:14:52 · 790 阅读 · 0 评论 -
myeclipse安装插件出现“resolving and validating the profile”卡死问题的解决方案
android系统越来越来火了,闲来无事就想搭建个android开发平台来试着学习学习。如何搭建android平台,网上到处都是方法,而且说得也很详细,我这里给个链接 MyEclipse 9上搭建Android开发环境 看了一下是针对在myeclipse9下的搭建,图文并茂也算很详细 一步步跟着做就是了。但是到了安装ADT的时候就出现了“resolving and validat原创 2011-11-13 11:55:22 · 13881 阅读 · 7 评论 -
Java实践之路——Gson
在java中采用ajax技术难免会遇到将java对象序列化的问题,而json作为一种轻量级且易懂易操作的数据格式得到广泛的应用。所以,这里我们讲一下将Java对象序列化为Json数据的方法,这里主要讲一下google开发的开源工具Gson。Gson继承了谷歌的优良传统原创 2011-07-30 11:12:18 · 9605 阅读 · 0 评论 -
Java实践之路目录索引
1、Java实践之路——jsp+servlet+javabean2、Java实践之路——JavaMail 项目文档视图更新如下原创 2011-07-08 22:55:55 · 813 阅读 · 0 评论 -
Java实践之路——EJB(一)
下面开始我的EJB之旅 学习任何一门技术之前,都必须简单的了解一下该技术的用途的优缺点。所以首先我们来看一下摘自百度百科上面对EJB的定义和说明====================================================================原创 2011-07-09 11:23:19 · 8600 阅读 · 4 评论 -
Java实践之路——JavaMail
今天讲述java组件JavaMail实现邮件的发送功能 应用一下百度百科上面JavaMail的描述 ================================================================= JavaMail,顾名思义,提供给原创 2011-07-08 17:24:37 · 5786 阅读 · 0 评论 -
Java实践之路——jsp+servelt+javabean
好久都没有写java程序了。其实一直都没有好好的,系统的学习或者说写过java程序。看看java日新月异的发展,看看一个个牛逼的java牛人,我这个底端的程序员也跟着学学吧。 毕业来,在公司做的项目都是用Dotnet做的。以至于一直比较喜欢java的我,最终还是走上了原创 2011-07-07 21:44:22 · 2848 阅读 · 3 评论 -
JBoss的安装及安装过程出现的问题解决方案
以前写java的web程序用的服务器都是tomcat,至于jboss和weblogic等稍微大型的web服务器都有点生畏的感觉。 今天好不容易鼓起勇气,下了个Jboss6.0来安装,确实还是出现了问题。下面把安装过程和其中遇到的问题记录一下 第一步、下载一个J原创 2011-07-05 17:44:43 · 5460 阅读 · 0 评论 -
Java实践之路(设计模式)——工厂模式(工厂方法)
上期回顾:上期中公司开业不久遇到了一个问题,因为公司的员工只会开发java和C#软件,由于项目多员工无法去学习更多的开发语言(修改代码困难),导致接的php项目没人做。公司需要重新规划,根据这次的教训我将分部门来管理。分别为java部,C#部,准备找一些懂php的人来成立php部。于是先调整原来的公司结构实现:首先一个公司的职能public interface Factory { P原创 2011-12-16 21:50:37 · 886 阅读 · 0 评论 -
Java实践之路(设计模式)——工厂模式(抽象工厂)
上期回顾:公司在扩大的同时,招的员工不再是只有程序员了。需要招销售员,这样就给原有的结构有了较大的冲击。以前的那个模式已经不再适用,接下来我们将使用抽象工厂模式来解决这个问题。实现:我们将进一步抽象。不管是程序员还是销售员,都是员工,对于公司招人来说,员工已经可以达到最高抽象级别了员工接口public interface Employee { void work();}程序原创 2011-12-16 22:43:06 · 843 阅读 · 0 评论 -
Java实践之路——集合类
1、概述:Java中的集合类,主要分为两大类。第一类是来源于Collection接口,第二类来源于Map接口。第一类的数据都是单列元素,第二类的都是双列元素,也就是包含了Key和Value的键值对。下面是一张引用网上的两张图片,也就是第一、二类数据的类层次图图片引用至 http://blog.csdn.net/carolzhang8406/article/details/672原创 2011-12-19 15:54:47 · 664 阅读 · 0 评论 -
算法——K均值聚类算法扩展应用(Java实现)
1、前面一篇文章算法——K均值聚类算法(Java实现)简单的实现了一下K均值分类算法,这节我们对于他的应用进行一个扩展应用2、目标为对对象的分类3、具体实现如下1)首先建立一个基类KmeansObject,目的为继承该类的子类都可以应用我们的k均值算法进行分类,代码如下package org.cyxl.util.algorithm;/** * 所有使用k均值分类算法的对象原创 2012-05-25 16:25:07 · 4267 阅读 · 0 评论 -
算法——二分查找算法(Java实现)
1、前提:二分查找的前提是需要查找的数组必须是已排序的,我们这里的实现默认为升序2、原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后;将要查找的值和数组的中值进行比较,若小于中值则在中值前面找,若大于中值则在中值后面找,等于中值时直接返回。然后依次是一个递归过程,将前半部分或者后半部分继续分解为三部分。可能描述得不是很清楚,若是不理解可以去网上找。从描述原创 2012-04-01 10:54:24 · 38585 阅读 · 10 评论 -
算法——K均值聚类算法(Java实现)
1、用途:聚类算法通常用于数据挖掘,将相似的数组进行聚簇2、原理:网上比较多,可以百度或者google一下3、实现:Java代码如下package org.algorithm;import java.util.ArrayList;import java.util.Random;/** * K均值聚类算法 */public class Kmeans { privat原创 2012-03-31 16:56:08 · 30635 阅读 · 5 评论 -
MyEclipse集成SVN
1、SVN由于目标机器积极拒绝,无法连接原因为没有启动svn服务,我们这里采用创建服务的方式并让这个服务自动启动,创建一个批处理文件如setupSVNService.bat,脚本如下sc create SVNServer binpath= "D:/Program Files/Subversion/bin/svnserve.exe --service -r F:/MyWorkSpac原创 2012-03-01 16:49:22 · 1951 阅读 · 0 评论 -
Tomcat配置数据源(JNDI方式)
一、直连接数据库1 Java 连接 OralceClass.forName("oracle.jdbc.driver.OracleDriver").newInstance();String url="jdbc:oracle:thin:@localhost:1521:orcl"; Connection conn= DriverManager.getConnection(url,user,转载 2012-03-14 14:29:58 · 32545 阅读 · 3 评论 -
Java实践之路——WebService
1、概述:下面是摘自百度百科的定义------------------------------------------------------------------------------------------它是一种新的webwebservice应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序原创 2011-12-28 11:06:51 · 1335 阅读 · 0 评论