【Java EE 后台开发】
文章平均质量分 76
洪文聊架构
请关注我的公众号[洪文聊架构],洪文,让我们一起探索架构师之路!
展开
-
Java程序员从笨鸟到菜鸟之(十三)java网络通信编程
本文来自:曹胜欢博客专栏。转载请注明出处:http://blog.csdn.net/csh624366188 首先声明一下,刚开始学习java网络通信编程就对他有一种畏惧感,因为自己对网络一窍不通,所以。。。呵呵。。你懂得,昨天又仔细的学习了一遍,感觉其实java网络编程也没想象的那么难,不信,咱一起看看。。。呵呵。。 网络编程就是在两个或两个以上的设转载 2013-08-06 15:36:22 · 1075 阅读 · 0 评论 -
Java中Thread类的start()和run()的区别
1、start()方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。 通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态,并没有运行。然后JVM通过此Thread类调用方法run()来完成其运行操作的,这里方法run()称为线程执行体,它包含了要执行的这个线程的内容,run方法运行结束,此线程终止,而CPU再转载 2013-12-13 15:17:06 · 919 阅读 · 0 评论 -
web.xml 通过 contextConfigLocation 配 spring 方式
web.xml 通过contextconfiglocation配置spring 的方式ssi框架配置文件路径问题:struts2的 1个+n个 路径:src+src(可配置) 名称: struts.xml + nspring 的 1个 路径: src 名称: applicationcontext.x原创 2012-09-25 19:12:16 · 1767 阅读 · 1 评论 -
Hibernate,struts,spring 教程 工作原理
Hibernate工作原理及为什么要用?原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的读取并解析映射信息3.通过config.buildSessionFactory();//创建SessionFactory4.sessionFactory.openSe原创 2012-09-21 23:39:28 · 1331 阅读 · 0 评论 -
jax-ws spring client 详解
jax-ws spring client 详解2010-07-06 17:421 将 wevservice 客户端 通过元素,注入到spring的配置文件中,类似元素被用户服务端2 具体的例子"1.0" encoding="UTF-8"?>"http://www.springframework.org/schema/beans" xmln原创 2012-08-08 17:24:42 · 13162 阅读 · 1 评论 -
POJO类 domain类 javabean 详解
POJO类 domain类 javabean 详解什么是POJO 在使用hibernate时,要求和数据库的某张表相互映射的那个java类,是一个POJO类,一般放在com.xxx.domain包下,POJO类翻译过来就是:简单的Java对象(Plain Ordinary Java Objects)实际就是普通JavaBeans,使用POJO名称原创 2012-10-04 23:51:11 · 8367 阅读 · 2 评论 -
Hibernate 原理 快速入门 详解 经典总结
一 hibernate是什么?1. hibernate 是一个框架(framework)2. hibernate 是一个orm框架 []l orm (object relation mapping) 对象关系映射框架 o object -> 业务层(只对对象操作)r relation-> 关系数据库m mapping 对象关系映射文件3.原创 2012-10-04 23:56:14 · 1095 阅读 · 0 评论 -
Struts1与Struts2原理 区别 详解 汇总
1.struts1和struts2 是2个完全不同的框架,其实struts2核心就是 webwork框架struts1以ActionServlet作为核心控制器,由ActionServlet负责拦截用户的所有请求。Struts 1框架有3个重要组成部分:Action、ActionForm和ActionForward对象。ActionForm必须实现ActionForm的基类,设计上并不是真正的P原创 2012-10-03 11:02:43 · 24323 阅读 · 2 评论 -
Spring 原理 架构 详解 总结! (看HSP笔记)
u spring的快速入门案例 ① spring是什么?struts 是 web 框架(jsp/action/actionfrom)hibernate 是 orm框架,处于持久层.spring 是容器框架,用于配置bean,并维护bean之间关系的框架 ☞ spring中有一个非常概念: bean (是java中的任何一种对象javabean/service/act原创 2012-10-04 13:32:35 · 2421 阅读 · 0 评论 -
Java Jetty 结合 hessian 使用小例子
Servercode:import org.eclipse.jetty.server.Server;import org.eclipse.jetty.servlet.ServletContextHandler;import org.eclipse.jetty.servlet.ServletHolder;public class HessianTest {public static原创 2014-02-13 10:21:10 · 2255 阅读 · 0 评论 -
java application应用程序 使用JDBC和proxool两种方式连接数据库 的测试程序代码
java application应用程序 使用JDBC和proxool两种新建java project,名称为ProxoolTest,在根目录下新建src文件夹,并在src文件夹下新建test类和proxool.xml文件[java] view plaincopy//test.java文件 package src原创 2014-02-21 09:46:22 · 1441 阅读 · 0 评论 -
Java volatile 关键字
关于volatile我们知道,在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量原创 2013-08-20 14:58:48 · 655 阅读 · 0 评论 -
java 序列化 serializable 接口--详解!
最近在阅读Core J2EE Patterns 的时候发现例子里用于在各个层次里进行传输的TO(Data Transfer Object)都实现了java.io.Serializable接口,看到这些偶突然感到茅塞顿开~困扰了很久的关于Serializable的疑问渐渐解开了,查找相关资料并总结如下:序列化是什么:序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得原创 2013-08-22 14:48:25 · 1302 阅读 · 0 评论 -
java getClass() 理解 详解
本质,获得当前object的class类(类型类)Java反射学习 所谓反射,可以理解为在运行时期获取对象类型信息的操作。传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有可移植性的代码。严格地说,反射并非编程语言的特性,因为在任何一种语言都可以实现反射机制,但是如果编程语言本身支持反射,那么反射的原创 2013-09-29 11:31:16 · 1818 阅读 · 0 评论 -
JAVA中String与StringBuffer的区别
String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结。 在java中有3个类来负责字符的操作。1.Character 是进行单个字符操作的,2.String 对一串字符进行操作。不可变类。3.StringBuffer 也是对一串字符进行操作,但是可变类。转载 2013-11-27 14:58:34 · 700 阅读 · 0 评论 -
java synchronized详解
记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问ob转载 2013-12-09 10:57:58 · 636 阅读 · 0 评论 -
浅谈java 中构建可执行 jar 包的几种方式
有时候,由于项目的需要,我们会将源码编译后以工具包(class打成jar包)的形式对外提供,此时,你的 jar 包不一定要是可执行的,只要能通过编译,能被别人以 import 的方式调用就行了。但还有的情况是,我们的 jar 包是要可执行的,即能直接在 cmd 下直接运行。前者的打包很简单,在 eclipse 中,直接选中要打包的 java 文件和其它资源、依赖文件, export →转载 2013-12-04 15:45:11 · 1276 阅读 · 0 评论 -
Java Vector list 区别
1,vector是线程同步的,所以它也是线程安全的,而arraylist是线程异步的,是不安全的。如果不考虑到线程的安全因素,一般用arraylist效率比较高。 2,如果集合中的元素的数目大于目前集合数组的长度时,vector增长率为目前数组长度的100%,而arraylist增长率为目前数组长度的50%.如过在集合中使用数据量比较大的数据,用vector有一定的优势。 3,如果查找一个原创 2014-01-10 20:30:12 · 1912 阅读 · 0 评论 -
深入Java class文件格式
.class文件中的内容,可以分为两部分,一是结构描述,二是代码指令。这其实跟我们写的java文件是非常相似的,只不过它为了性能考虑,生成了二进制文件。下面以HelloWorld来举例说明。首先我们定义一个最简单的test/HelloWorld.java:package test;public class HelloWorld {public static void main(St原创 2014-01-23 15:33:00 · 916 阅读 · 0 评论 -
使用 Apache CXF 实现 Web Service 详解
1.Web service的概念什么是WebService呢?从表面上看,Web Service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。从深层次上看,Web Service是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来原创 2012-09-25 19:38:13 · 26186 阅读 · 3 评论 -
CXF 入门步骤 详解:HelloWorld接口发布
第一步:在myeclipse中新建一个web项目名为myWs,并导入依赖的jar包(cxf,spring,apache-commons相关) 1、commons-logging-1.1.1.jar2、cxf-2.4.1.jar3、geronimo-activation_1.1_spec-1.1.jar4、geronimo-annotation_1.0_s原创 2012-09-25 19:22:07 · 3810 阅读 · 0 评论 -
SSH框架整体理解和总结(框架分析+环境搭建+实例源码下载)
首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。 集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。 Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制转载 2014-07-04 16:36:58 · 1464 阅读 · 0 评论 -
Java NIO和IO的主要区别
Java NIO和IO的主要区别下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。IO NIO面向流 面向缓冲阻塞IO 非阻塞IO无 选择器面向流与面向缓冲Java NIO和IO之间第一个最大的区别是,IO是面向流转载 2014-06-16 17:52:51 · 741 阅读 · 0 评论 -
浅析SAX,DOM,JAXP,JDOM与DOM4J之间的关系
众所周知,SAX与DOM是JAVA中两大核心XML解析API类库,而JAXP,JDOM与DOM4J都是基于这两大核心API而衍生出来的。今日兴起看了看相关资料,在这里总结总结。SAX与DOM首先需要说明白的是SAX与DOM的关系。SAX与DOM都是底层API,在JDK中他们的包路径分别为:org.xml.sax与org.w3c.dom。自JDK1.5开始,JDK中自转载 2014-09-26 16:44:57 · 1676 阅读 · 0 评论 -
Struts2工作流程图、原理和源码分析---perfect
Struts2工作原理Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller、ActionProxy、ActionMapping、Configuration Manager、ActionInvocation、Inerceptor、Action、Result等。下面我们来具体看看这些组件有转载 2014-09-23 16:33:40 · 3673 阅读 · 0 评论 -
NIO与传统IO的区别--通熟易懂,很经典
传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。转载 2014-11-02 09:28:53 · 972 阅读 · 0 评论 -
spring IOC原理诠释的比较好的例子--perfect
IOC(Inverse of Control)可翻译为“控制反转”,但大多数人都习惯将它称为“依赖注入”。在Spring中,通过IOC可以将实现类 、参数信息等配置在其对应的配置文件中 ,那么当需要更改实现类或参数信息时,只需要修改配置文件即可,这种方法在上例的基础上更进一步的降低了类与类之间的耦合。我们还可以对某对象所需要的其它对象进行注入 ,这种注入都是在配置文件中做的,Spring的IOC的转载 2014-10-21 09:29:54 · 2823 阅读 · 0 评论 -
JAVA垃圾回收机制详解--perfect
综合了若干人的blog~1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的转载 2015-01-19 15:29:14 · 1120 阅读 · 0 评论 -
静态方法和实例化方法的区别,很透彻
今天看书时一直没真正弄明白静态方法和实例方法的区别,就在网上搜索,找到一篇很好的文章,和大家分享一下:这是一个经常被时时提出来的问题,很多时候我们以为理解了、懂了,但深究一下,我们却发现并不懂。方法是我们每天都在写得,很多程序员大多都使用实例化方法,而很少使用静态方法,问原因也说不出来所以然,或者简单的回答两者定义的区别,静态方法不需要new就可以使用 实例化方法需要new了以后才可以使用转载 2015-11-02 11:30:13 · 1605 阅读 · 0 评论 -
Dubbo使用原因和科普
一、基础篇1.1 开篇说明dubbo是一个分布式服务框架,致力于提供高性能透明化RPC远程调用方案,提供SOA服务治理解决方案。本文旨在将对dubbo的使用和学习总结起来,深入源码探究原理,以备今后可以作为借鉴用于工作之中。由于dubbo各个分层都是很多扩展,比如注册中心有redis、zookeeper选项,通信模块有netty、mina,序列化有hession、hession2、转载 2018-01-31 12:22:16 · 6629 阅读 · 0 评论 -
Java EE技术整体深入理解perfect
J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种概念,本文章试图从一种轻易理解的角度对这些概念向初学者进行解释,以便把握学习J2EE学习方向。 首先我们需要知道Java和J2EE是两个不同概念,Java不只是指一种语言,已经代表与微软不同的另外一个巨大阵营,所以Java有时是指一种软件系统的流派,当然现在主要是.NET和Java两大主流体系。 J2EE可以说指Jav转载 2014-07-03 15:03:57 · 1072 阅读 · 0 评论 -
Java 中正确使用 hashCode 和 equals 方法
在这篇文章中,我将告诉大家我对hashCode和equals方法的理解。我将讨论他们的默认实现,以及如何正确的重写他们。我也将使用Apache Commons提供的工具包做一个实现。 目录:hashCode()和equals()的用法重写默认实现使用Apache Commons Lang包重写hashCode()和equals()需要注意记住的事情当使用ORM的时候特别要注意的转载 2014-07-03 14:11:56 · 1011 阅读 · 0 评论 -
Java异常机制深入理解和使用技巧--读完必有收获perfect
六种异常处理的陋习你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = con转载 2014-05-29 16:15:43 · 1493 阅读 · 1 评论 -
HashTable和HashMap区别
HashTable和HashMap区别第一,继承的父类不同。Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。复制代码 代码如下:public class Hashtableextends Dictionaryimplements Map, Cloneable, Serializ转载 2014-05-09 15:42:34 · 607 阅读 · 0 评论 -
Java使用JSch远程连接SSH,模拟sshClient
1. SSH简介 SSH是Secure Shell的缩写,一种建立在应用层和传输层基础上的安全协议。SSH在连接和传送过程中会加密所有数据,可以用来在不同系统或者服务器之间进行安全连接。SSH提供两种的安全验证方式:基于密码的认证和基于密匙的认证。其中,基于密码的认证比较简单,只要知道远程主机的用户名和密码,就可以进行登录。基于密匙的认证比较麻烦,而且连接比较耗时,这里不详细介绍转载 2014-05-20 11:50:09 · 12454 阅读 · 0 评论 -
DWR的使用,配置,例子,详解整理
DWR的原理:在安装DWR时会在web.xml中配置一个servlet,这个servlet负责把前台的JS参数封装成JAVA,去调用你的JAVA类,然后将返回结果(JAVA类型)再翻译成JS生成到你的JSP页面上,给你的错觉就是你用JS直接调用了JAVA方法实际:JAVA类实现了js与java类之间的接口(DWR根据Java类来动态生成JavaScrip代码,是不是有些像JSP是由servle原创 2014-04-23 17:40:02 · 4856 阅读 · 0 评论 -
Struts2的配置文件——struts.xml ---详解perfect
struts.xml文件结构 struts.xml文件是整个Struts2框架的核心。 struts.xml文件内定义了Struts2的系列Action,定义Action时,指定该Action的实现类,并定义该Action处理结果与视图资源之间的映射关系。 Java代码 "1.0" encoding="UTF-8" ?> "-//Ap转载 2014-07-17 16:05:43 · 977 阅读 · 0 评论 -
Java中的信号量:CountDownLatch
Java的concurrent包里面的CountDownLatch其实可以把它看作一个计数器,只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数器里面的值。 你可以向CountDownLatch对象设置一个初始的数字作为计数值,任何调用这个对象上的await()方法都会阻塞,直到这个计数器的计数值被其他的线程减为0为止。转载 2013-12-12 10:43:07 · 1175 阅读 · 0 评论 -
JAVA线程池机制总结
Java线程池使用说明一 简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就原创 2014-05-25 01:03:17 · 1134 阅读 · 0 评论 -
Java多线程编程专题总结
Java多线程编程总结 下面是Java线程系列博文的一个编目: Java线程:概念与原理Java线程:创建与启动Java线程:线程栈模型与线程的变量Java线程:线程状态的转换 Java线程:线程的同步与锁Java线程:线程的交互Java线程:线程的调度-休眠 Java线程:线程的调度-优先级Java线程:线程的调度-让步Java线程:线转载 2014-05-25 08:12:00 · 814 阅读 · 0 评论