Java
文章平均质量分 82
Hoking
愿,分享!圆,梦想!
展开
-
Hibernate 基本增删改查操作
本文将要介绍Hibernate基本的增删改查的操作的实现,首先我们创建一个对象实例。一般情况下会创建User,本例也不例外需要创建这样的对象。【转载使用,请注明出处:http://blog.csdn.net/mahoking】User对象public class User { private Integer id; private String userName; privat原创 2015-02-02 22:23:35 · 4896 阅读 · 0 评论 -
编写将给定字符串倒序输出的函数[Java笔试题]
面试的过程中经常会出现这样一个问题:写一个函数,将给定的字符串倒叙输出。以下是StringReverseOpt定义静态方法:public class StringReverseOpt { /** * 方式一:使用String类的toCharArray(),再倒序输出数组。 * @param string * @return */ public static S原创 2016-05-25 23:22:52 · 5727 阅读 · 0 评论 -
Servlet整合FreeMarker
本例旨在演示Servlet整合FreeMarker的功能,具体的操作步骤如下:第一步:创建Web项目(本例使用的是Eclipse),FreeMarkerWeb。第二步:创建Blog对象,用于封装数据。public class Bolg { private String title; // 博客标题 private Date date; // 创建日期 private Strin原创 2016-06-05 16:18:21 · 2142 阅读 · 0 评论 -
Hessian使用教程
Hessian是一个轻量级的remotingonhttp工具,使用简单的方法提供了RMI的功能。相比Webservice,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合发送二进制数据。 在进行基于Hessian的项目开发时,应当注意一下几点:Java服务器端必须具备:■包含Hessian的jar包■设计一个接口,用来给客户端调用原创 2016-06-18 10:49:25 · 8080 阅读 · 2 评论 -
MyBatis关联查询
一对一关联一对一的场景:一个班主任只属于一个班级,一个班级也只能有一个班主任。1、创建班级表和教师表语句班级表CREATE TABLE class ( c_id INT NOT NULL AUTO_INCREMENT, c_name VARCHAR(20), teacher_id INT, PRIMARY原创 2016-08-28 14:28:19 · 968 阅读 · 0 评论 -
Java含有return 的try catch finally的执行顺序
1、try-catch-finally执行顺序:一、执行try{}块;二、如果try{}块有异常产生,执行catch{}块;三、无论有没有异常都要执行finally{}块,这里可以看出只要finally中有return,必然返回finally{}中的return。如:try{ 语句1; 语句2; 语句3;}catch(){ 语句4;}fina原创 2016-09-10 23:06:33 · 834 阅读 · 0 评论 -
MessageFormat与占位符使用
占位符在我们开发过程中通用的使用场景主要用于应答信息中,应答信息的配置一般会配置于数据库中或者properties配置文件中。在properties文件中我们可以使用占位符来进行动态的替换,例如在properties文件中我们配置了:ErrorMessage=This is Error Message : {0}.以下代码模拟获取"ErrorMessage "的配置······原创 2016-09-11 20:52:10 · 8648 阅读 · 0 评论 -
序列化与反序列化
序列化与反序列 Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。对原创 2016-08-24 23:09:38 · 719 阅读 · 0 评论 -
Java中Map的遍历方法
对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次性拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。/** * 方法一:使用entryset来进行遍历 */ public void method01(Ma原创 2016-10-24 21:50:07 · 811 阅读 · 0 评论 -
Spring MVC使用jstl 标签c:forEach 遍历输出双层嵌套List的数据
具体操作步骤如下:1、创建Controller。import java.util.ArrayList;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework原创 2016-11-21 22:17:49 · 19324 阅读 · 1 评论 -
Apache Commons Compress
Apache Commons是Apache软件基金会的项目,曾隶属于Jakarta项目。Commons的目的是提供可重用的、开源的Java代码。Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。Compress 本例主要介绍组件Compress,Compress是ApacheCommons提供压缩、解压缩文件的类库,可以操原创 2017-02-05 19:53:40 · 6677 阅读 · 0 评论 -
Apache Commons Betwixt
Apache Commons是Apache软件基金会的项目,曾隶属于Jakarta项目。Commons的目的是提供可重用的、开源的Java代码。Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。Betwixt 本例主要介绍组件Betwixt,其功能是实现XML与Java对象之间相互转换(Turningbeans into X原创 2017-01-15 21:37:29 · 880 阅读 · 0 评论 -
Java Comparable排序接口和Comparator比较器接口
实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。 Comparable位于包java.lang下,Comparable是一个对象本身就已经支持自比较所需要实现的接口(如 String、Integer 自原创 2017-07-27 23:32:34 · 1464 阅读 · 0 评论 -
Callable和Future
Callable接口和Future接口转载 2017-11-08 23:23:13 · 305 阅读 · 0 评论 -
Java多线程
对于并发来说,一般可以有多进程和多线程两种方式。进程是占用的CPU、内存等系统的基本单位,而线程又是进程的执行单元。多进程的并发对于数据的共享是很困难的,而线程去相当的容易,因此大多数时候说的并发指的就是多线程。Java的多线程是语言级的,并不依赖任何的操作系统API,而且Java的多线程编程能力是很强大且好用的。1、什么是多线程分析: 每个正在系统上运行的程序都是一个进程原创 2015-12-05 13:58:28 · 1608 阅读 · 0 评论 -
MyBatis批量增删改查操作
前文我们介绍了MyBatis基本的增删该查操作,本文介绍批量的增删改查操作。前文地址:http://blog.csdn.net/mahoking/article/details/43673741原创 2015-07-09 08:26:23 · 25199 阅读 · 2 评论 -
Java语言的运行机制
计算机高级编程语言按其程序的执行方式可分为编译型语言和解释型语言。 编译型语言是指使用专门的编译器,针对特定操作系统将源程序代码一次性翻译成计算机识别的机器指令。例如C、C++等都属于编译型语言。 解释性语言是指使用专门的解释器,将源程序代码逐条地解释成特定平台的机器指令,解释一句执行一句,类似于“同声翻译”。例如ASP、PHP等都属于解释型语言。原创 2015-05-30 14:27:07 · 3085 阅读 · 0 评论 -
Java项目导出可运行的jar文件
【转载使用,请注明出处:http://blog.csdn.net/mahoking】 场景一:Java项目没有依赖第三方jar包 1. 首先在MyEclipse中打开项目, 右键点击项目,选择“Export”; 2. 选择Java/JAR file,Next; 3. Select the resources to export中可原创 2015-01-19 13:08:30 · 16721 阅读 · 0 评论 -
Hibernate 批量增删改查操作
上文介绍Hibernate基本的增删改查,本例将介绍更实用的批量增删改查的操作的实现。本文中增删改查的操作,仅供参考。如果读者需要应用到实际的应用场景需要的话,需要在此基础上扩展与丰富。【转载使用,请注明出处:http://blog.csdn.net/mahoking】 在学习本例时,需要扩展一下Hibernate中Session的知识。Hibernate中的Session是一原创 2015-02-07 14:04:32 · 3373 阅读 · 0 评论 -
MyBatis基本增删改查操作
本文内容主要介绍单条记录的增删改查操作,MyBatis提供了很多完成单条记录的增删改查操作的API。本例主要讲述 UserMapper org.apache.ibatis.session.SqlSession.getMapper(Class clazz)的使用。使用此API,我们需要创建UserMapper操作接口,函数名和MyBatis的User.xml配置文件中的操作id名对应。【转载使用原创 2015-02-09 18:47:04 · 3583 阅读 · 1 评论 -
MyBatis基本环境搭建与MyBatisUtil
本文将介绍MyBatis的环境搭建,本例使用的MyBatis的版本为mybatis-3.2.8.jar。下载地址为:http://download.csdn.net/detail/ma_hoking/8380541。本例使用的数据库为MySQL数据。具体的安装操作请参考:http://blog.csdn.net/mahoking/article/details/42921511。【转载使用,请原创 2015-02-09 18:42:24 · 3224 阅读 · 0 评论 -
Spring MVC url提交参数和获取参数
演示环境的搭建参考上文,本文重要讲述通过url提交参数和获取参数的具体操作与实现。【转载使用,请注明出处:http://blog.csdn.net/mahoking】普通URL提交参数 该格式url为:url.do?param1=mahc¶m2=8888.00 需要在上文中的HelloController对象添加方法如下:/** * Sp原创 2015-02-11 08:20:43 · 22823 阅读 · 0 评论 -
String对象内存分配和基本数据类型的默认值与初始化相关问题
题目: 阅读下面代码段,给出以下代码的输出结果。public class TestFunction { static int i; public static void main(String[] args) { String str1 = "abc"; String str = "abc"; String str2 = new String("abc"); S原创 2015-03-02 15:57:38 · 3076 阅读 · 0 评论 -
Java程序性能优化——性能调优层次
为了提升系统性能,开发人员可以从系统的各个角度和层次对系统进行优化。除了最常见的代码优化外,在软件架构上、JVM虚拟机层、数据库以及操作系统层都可以通过各种手段进行调优,从而在整体上提升系统的性能。设计调优处于所有调优手段的上层,它往往需要在软件开发之前进行。在软件开发之初,软件架构师就应该评估系统可能存在的各种潜在的问题,并给出合理的设计方案。原创 2015-04-23 22:04:44 · 2502 阅读 · 0 评论 -
Java自定义异常与异常使用最佳实践
异常的分类1. 非运行时异常(Checked Exception) Java中凡是继承自Exception但不是继承自RuntimeException的类都是非运行时异常。2. 运行时异常(Runtime Exception/Unchecked Exception) RuntimeException类直接继承自Exception类,称为运行时异常。Jav原创 2015-04-15 20:27:16 · 49649 阅读 · 4 评论 -
Java程序性能优化——性能指标
性能概述:为什么程序总是那么慢?它现在到底在干什么?时间都花到哪里去了?也许,你经常会抱怨这些问题。如果是这样,那说明你的程序出了性能问题。和功能性问题相比,性能问题在有些情况下,可能并不算什么太大的问题,将就一下,就过去了!但是,严重的性能问题会导致程序瘫痪、假死。直至崩溃。本节就先来认识性能的各种表现和指标。看懂程序的性能读客户端程序而言,拙劣的性能会严重影响用户体验。原创 2015-04-21 19:50:46 · 3620 阅读 · 0 评论 -
面向对象程序设计与基本特征
程序设计的本质是把人们在现实生活中遇到的问题通过抽象处理,利用编程语言转换到计算机能够理解的层面上去。程序设计从开始到现在,大致经历了过程式程序设计、结构化程序设计和面向对象设计3个阶段。 ■过程式程序设计需要开发者对程序的每一步进行精致地设计和严格控制。 ■结构化程序设计需要开发者在编码之前将程序进行完整的规划,设计出各种图标,画出各种数据的流向,指明各个函数之间原创 2015-04-27 22:10:55 · 3382 阅读 · 0 评论 -
JXL基本操作
Jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Excel文档。除了Jxl之外,还有Apache的一个POI项目,也可以操作Excel,两者相比之下:Jxl使用方便,但功能相对POI比较弱。POI使用复杂,而Jxl较为简单,易于快速入门。本文提供jxl.jar文件下载,版本为2_6_12。点此下载!http://download.csdn.net/原创 2015-06-16 22:31:59 · 1502 阅读 · 0 评论 -
【算法笔记】数据结构(一)
数据结构是数据的组织形式,可以用来表征特定的对象数据。在计算机程序设计中,操作的对象是各式各样的数据,这些数据往往拥有不同的数据结构,例如数组、接口、类等。而算法和数据结构具有千丝万缕的联系,计算机科学家尼克劳斯·沃思(Nikiklaus Wirth)提出“数据结构+算法=程序”的著名公式。这是因为不同的数据结构所采用的处理方法不同,计算的复杂程度也不同,因此算法往往是依赖于某种数据结构的,即数据原创 2015-05-31 15:32:29 · 1183 阅读 · 0 评论 -
Java GC(垃圾回收)的工作原理
Garbage Collection简称GC,是垃圾回收的意思。 内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃。Java语言提供的GC功能可以自动检测对象是否超过作用域,从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法,资源回收工作全部交由GC来完成,程序员不能精确控制垃圾回收的时机。 下面原创 2015-05-30 14:20:03 · 1786 阅读 · 0 评论 -
Strust2和Spring MVC的区别
一、实现机制1、核心控制器(前端控制器、预处理控制器) Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现。Filter在容器启动之后即初始化;服务停止以后坠毁,晚于Servlet。Servlet在是在调用时初始化,先于Filter调用,服务停止后销毁。2、控制器...原创 2018-05-08 17:30:25 · 1104 阅读 · 0 评论