
——【Java】
文章平均质量分 80
邵鸿鑫
不为失败找借口,只为成功想办法
展开
-
解析JDK、J2EE、J2SE、J2ME的区别
你对JDK、J2EE、J2SE、J2ME概念是否了解,这里和大家分享一下JDK、J2EE、J2SE、J2ME的概念以及他们的关系区别,相信本文介绍一定会让你有所收获。JDK,J2EE,J2SE,J2ME的概念区别是什么呢?1.JDK是Javadevelopmenttoolkit,相当于是Java的库函数,是编译,运行java程序的工具包。J2EE是Java2enterpri转载 2015-06-02 10:26:35 · 1754 阅读 · 20 评论 -
Log4j使用及配置
日志管理往往在项目中起着非常重要的作用,日志信息便于我们分析程序的执行情况,比较常用的日志工具有logging和log4j,当然还有其他很多种。为了实现日志的统一管理和配置,继而出现了slf4j来统一logging和log4j的接口。slf4j并不是用来做日志工作的,他是在对外提供logging和log4j的一个统一接口,程序只需要调用slf4j的接口不需要关系是哪种日志工具在发挥作用。而slf4原创 2016-02-23 20:01:51 · 2325 阅读 · 13 评论 -
Hibernate延迟加载问题
Hibernate延迟加载是项目中非常常用的技术。通过使用Hibernate延迟加载机制可以在加载数据是不必加载全部数据,而是只加载我们需要的那部分,其余部分在需要使用时才从数据库装载,以此来减少数据量提高系统性能。 Hibernate延迟加载大致可以分为两类,一类是延迟属性加载,另一类是延迟关联实体加载。属性加载 属性加载又可以分为两类,一类是集合属性,一类是非集合属性。关联加载 关联加载原创 2016-03-09 10:55:15 · 2583 阅读 · 7 评论 -
Java线程池
我们平时在写程序中常常使用多线程来提高CPU以及其他资源的利用率,但是当CPU中的线程超过了CPU调度范围时,我们的程序就会变得缓慢甚至出现死锁导致程序卡死等现象。也有很多时候我们需要创建的线程量巨大,但是每个线程的执行时间却相对较小,这样在新启线程和关闭线程的时候消耗的系统资源要比花在处理实际的用户请求的时间和资源更多。除了创建和销毁线程的开销之外,活动的线程也消耗系统资源。在一个 JVM 里创原创 2016-02-29 15:35:26 · 2297 阅读 · 14 评论 -
J2EE核心之EJB
EJB作为EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。 目前主要是用的是EJB3原创 2016-04-27 15:27:22 · 4955 阅读 · 3 评论 -
EJB——有状态的会话bean和无状态的会话bean
前面文章介绍过EJB的一些基本概念和三种bean,今天重点介绍一下会话bean中的有状态会话bean和无状态会话bean。 会话bean分为有状态的会话bean和无状态的会话bean:有状态会话bean : 每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束。即每个用户最初都会得到一个初始的bea原创 2016-04-29 09:32:58 · 7454 阅读 · 3 评论 -
Hibernate与 MyBatis
简介 Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO (POJO Plain Ordinary Java Object 简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称)和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hiberna原创 2016-05-27 20:04:44 · 6099 阅读 · 6 评论 -
AOP简单介绍
AOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。 当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关原创 2016-05-30 15:29:53 · 6297 阅读 · 6 评论 -
全文检索——Lucene
简单介绍: 全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法。全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统。 像我们平时用的百度谷歌搜索引擎,当我们在输入框输入任意内容后点击搜索,搜索引擎就会把与我们搜索内容相关的内容全部检索到,并按照一定的排序规则呈现给我们。 Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代原创 2016-06-24 19:57:04 · 4136 阅读 · 3 评论 -
序列化和反序列化
互联网的产生带来了机器间通讯的需求,而互联通讯的双方需要采用约定的协议,序列化和反序列化属于通讯协议的一部分。通讯协议往往采用分层模型,不同模型每层的功能定义以及颗粒度不同,例如:TCP/IP协议是一个四层协议,而OSI模型却是七层协议模型。在OSI七层协议模型中展现层(Presentation Layer)的主要功能是把应用层的对象转换成一段连续的二进制串,或者反过来,把二进制串转换成应用层的对原创 2016-06-12 21:03:04 · 3089 阅读 · 4 评论 -
Solr简单介绍
简介 Solr是一个高性能,采用Java5开发,Solr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。工作方式 文档通过Http利用XML 加到一个搜索集合中。Solr 查询该集合也是通过http收到一个XML/JSON响应来实现。它的原创 2016-06-29 15:10:16 · 5693 阅读 · 5 评论 -
JVM体系结构与工作方式
JVM全称是Java Virtual Machine(Java虚拟机),他通过模拟一个计算机来达到一个计算机所具有的计算功能。 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏原创 2016-06-20 09:53:24 · 4277 阅读 · 5 评论 -
Httpclient简介
什么是httpclient HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common原创 2016-07-29 11:40:07 · 2401 阅读 · 5 评论 -
java 堆 栈 方法区的简单分析
今天看到一篇写java堆栈的文章,很不错和大家分享一下,原文地址http://blog.sina.com.cn/s/blog_65ca444f01011q14.html 基础数据类型(Value type)直接在栈(stack)空间分配,方法的形式参数,直接在栈空间分配,当方法调用完成后从栈空间回收。引用数据类型,需要用new来创建,既在栈空间分配一个地址空间(reference),又在堆空间分配原创 2016-07-30 10:09:01 · 2333 阅读 · 4 评论 -
https开发——tomcat配置
最近公司有微信小程序的项目,微信小程序调用接口需要HTTPS协议。HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同ht原创 2017-02-21 15:11:07 · 1475 阅读 · 10 评论 -
nginx+tomcat实现单个IP地址,多个二级域名+多个站点访问
1.部署多台tomcat 简单的在一台服务器上部署多台tomcat最简单不过了,只需要将tomcat压缩包解压到多个目录,然后更改/conf/server.xml配置文件中的三个端口: a.Server port=”8[X]05″ shutdown=”SHUTDOWN” b.Connector port=”8[X]80″ maxHttpHeaderSize=”8192″ … c.Conne原创 2018-01-16 09:53:21 · 1384 阅读 · 5 评论 -
Spring核心组件
spring是目前最流行的框架之一,今天主要和大家共同研究一下spring的核心组件。spring总共有十几个组件,其真正核心组件为:core、context和bean。 这三个组件中bean尤为重要,因为spring是面向bean的编程。就像Java是面向对象的编程一样,bean对于spring来说就好比Java中的对象一样重要。在spring中如果没有bean也就没有spring存在的意义了原创 2016-02-14 21:11:45 · 10265 阅读 · 15 评论 -
深入理解Struts2
简介 Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork原创 2016-01-29 10:58:02 · 3258 阅读 · 14 评论 -
Java系列之JDBC和ODBC之间的区别与联系
JDBC简介JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,它是Java十三个规范之一。可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。ODBC简介开放数原创 2015-06-08 08:08:19 · 43979 阅读 · 19 评论 -
Java系列之XML
>XML是一种可扩展标记语言,之前学习HTML的时候就已经学习过了,为什么今天要在这里重新提起呢?因为XML是J2EE的十三个规范之一。#重新回顾>可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。>在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自原创 2015-06-08 10:30:35 · 1569 阅读 · 17 评论 -
Java系列之JNDI
简介 JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。目录服务是命名服务原创 2015-06-08 08:08:41 · 1882 阅读 · 15 评论 -
Java系列之EJB
简介EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里,Enterprise J原创 2015-06-30 08:11:41 · 1779 阅读 · 18 评论 -
Tomcat+Servlet登录页面实例
概念 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行原创 2015-08-11 08:06:35 · 6051 阅读 · 16 评论 -
爸爸和儿子的故事带你理解java线程
今天回顾线程方面的知识,发现一个很有意思的小程序,是用来说明多线程的下面贴出来分享下,对初学者理解线程有很大的帮助 爸爸和儿子的故事public class FatherThread extends Thread{ @Override public void run() { System.out.println("爸爸想抽烟,发现原创 2015-07-31 14:51:11 · 3850 阅读 · 32 评论 -
Java——用户激活邮件工具类
我们经常遇到在网站或者软件注册新用户时需要向我们的注册邮箱发送一封激活邮件,然后我们去邮箱点击激活连接后我们的用户名才能登陆,其过程是当我们注册成功后数据库已经存入该用户的相关信息,但是用户状态为不可用,所以这时候该用户名是不能正常使用的。因此系统需要向我们的注册邮箱发一封激活邮件,我们点击激活连接后系统会将数据库中用户状态字段更改为可用状态,至此用户激活成功,该用户可以正常使用。下面是实现过程:原创 2015-08-31 08:35:49 · 2810 阅读 · 18 评论 -
Java——采用filter统一设置字符集
简介 Filter 技术是servlet 2.3 新增加的功能。servlet2.3是sun公司于2000年10月发布的,它的开发者包括许多个人和公司团体,充分体现了sun公司所倡导的代码开放性原则。在众多参与者的共同努力下,servlet2.3比以往功能都强大了许多,而且性能也有了大幅提高。——来自百度百科功能 其中最重要的就是filter功能.它使用户可以改变一个request原创 2015-11-03 15:58:41 · 1867 阅读 · 6 评论 -
Tomcat+Servlet保存Cookie到浏览器
我们在访问一些大型购物网站的时候,都有添加到购物车这一项,而购物车里面的东西都是临时的,商品买完之后购物车里面的东西可能就没有价值了。如果把这些临时的东西都保存到服务器的话,无疑是一种资源浪费。因此今天我们就引入一个新名词Cookie,说是新名词其实一点也不陌生,我们电脑或者浏览器清理垃圾的时候都有轻触Cookie这一项。其实这就是我们访问一些网站的时候,开发者为了避免自己服务器压力,或者减少服务原创 2015-09-16 09:28:46 · 1665 阅读 · 13 评论 -
Java——采用DOM4J+单例模式实现XML文件的读取
大家对XML并不陌生,它是一种可扩展标记语言,常常在项目中作为配置文件被使用。XML具有高度扩展性,只要遵循一定的规则,XML的可扩展性几乎是无限的,而且这种扩展并不以结构混乱或影响基础配置为代价。项目中合理的使用配置文件可以大大提高系统的可扩展性,在不改变核心代码的情况下,只需要改变配置文件就可以实现功能变更,这样也符合编程开闭原则。 但是我们把数据或者信息写到配置文件中,其他类或者模块要原创 2015-10-05 11:27:46 · 1916 阅读 · 14 评论 -
JDBC连接Oracle数据库
前面记得有过博客简单的介绍过JDBC和ODBC的区别,在Java开发中经常用到JDBC连接数据库,下面通过实例介绍如何实现:连接public class DbUtil { public static Connection getConnection(){ Connection conn=null; try {原创 2015-10-21 14:17:46 · 3556 阅读 · 12 评论 -
Java——Ajax+Tomcat完成异步请求
Ajax最为网页异步交互技术相信大家并不陌生,这里我也不做过多介绍,详情点击(百度百科)。很多框架也封装了Ajax技术,使用起来更加简单,比如jQuery等等,这里为了了解原理,我们使用原生的Ajax。 我们以注册用户时,判断用户ID是否存在为例,实现一个最简单的异步请求,当我们鼠标离开输入框时自动判该用户ID是否存在,同时我们可以继续填写其他注册信息。界面如下:HTML代码原创 2015-10-30 16:31:15 · 4672 阅读 · 7 评论 -
SpringMVC & Struts2
这两个框架可谓Java中的经典,Java开发必懂的框架,不过最近原创 2016-01-22 14:37:52 · 4098 阅读 · 12 评论 -
深入理解JSP
JSP(Java server page)是Java EE规范最基本成员,他是Java Web开发的重点知识,虽然我们一直在用,但其原理知之甚少。今天重点研究一些JSP核心内容以及其工作原理。 JSP和Servlet的本质是一样的,因为JSP最终需要编译成Servlet才能运行,换句话说JSP是生成Servler的草稿文件。 JSP比较简单,就是在HTML中嵌入Java代码,或者使用JSP标签原创 2016-01-27 21:16:23 · 3971 阅读 · 8 评论 -
深入理解Servlet
简介 Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。 servlet通常被称为服务器端小程序,试运行在服原创 2016-01-28 15:57:50 · 2927 阅读 · 9 评论 -
解决Eureka服务注册集群各节点均在unavailable-replicas下的问题
springcloud项目使用Eureka作为注册中心,在做集群版的时候出现了所有节点都在unavailable-replicas下的问题。通过查阅资料总结了一下几种解决方案。1.各个节点application名字要保持一致2.本地测试时各个节点都在同一台机器,hostname需要在本地host中填写,各个节点使用自己的host3. prefer-ip-address设置为...原创 2019-01-11 12:56:47 · 5748 阅读 · 3 评论