标签 "Java" 相关文章
总计 17 页,当前第 4 页
连接符号 "+" 本质在 浅谈Java String内幕(1)中,字符串变量(非final修饰)通过 "+" 进行拼接,在编译过程中会转化为StringBuilder对象的append操作,注意是编译过程,而不是在JVM中。public class StringTest {
public static&nbs...
8年前 (2016-09-12)
阅读(2330)
赞一个 (0 )
链接直达
前言String字符串在Java应用中使用非常频繁,只有理解了它在虚拟机中的实现机制,才能写出健壮的应用,本文使用的JDK版本为1.8.0_3。常量池Java代码被编译成class文件时,会生成一个常量池(Constant pool)的数据结构,用以保存字面常量和符号引用(类名、方法名、接口名和字段名等)。package com.ctrip.ttd.whywhy;
public class Test&nb...
8年前 (2016-09-12)
阅读(2319)
赞一个 (0 )
链接直达
代理实现可以分为静态代理和动态代理。静态代理静态代理模式其实很常见,比如买火车票这件小事:黄牛相当于是火车站的代理,我们可以通过黄牛买票,但只能去火车站进行改签和退票。在代码实现中相当于为一个委托对象realSubject提供一个代理对象proxy,通过proxy可以调用realSubject的部分功能,并添加一些额外的业务处理,同时可以屏蔽realSubject中未开放的接口。1、RealSubject 是委托类,Proxy 是代理类...
8年前 (2016-09-12)
阅读(2226)
赞一个 (0 )
链接直达
“话说,码农与工程师的区别就在于是否善于创造工具,简化工作”今天加班遇到问题,要对一个项目中所有List集合进行排序。如果按照往常的方法,估计要重写至少50次compare方法,因为需要排序的类不同,字段也不同,普通方法无法复用。但经过思考发现,可以利用Java的泛型和反射封装一个通用的工具类实现对任意对象集合的任意字段进行正序和逆序排列,代码如下:一、工具类package utils;
import java...
8年前 (2016-09-12)
阅读(2948)
赞一个 (2 )
链接直达
本文将介绍Java Poi包的使用,并实现Excel报表的导入导出。前提摘要:在系统的管理后台当中中,Excel报表的导入导出已经是不不可避免的场景。值得一提的是支付宝和微信支付的批量转账也需要相应格式的Excel文档支持,这个文档就需要从我们的业务订单系统中相应的导出的[手动滑稽]。Apache POI[^1] 基本介绍Apache POI 是创建和维护操作各种符合Office Open XML(OOXML)标准和微软的OLE 2复合...
8年前 (2016-09-12)
阅读(2304)
赞一个 (0 )
链接直达
在平常的软件开发过程中,我们经常都会遇到需要在数组或集合中查找某个指定元素的情况。通常情况下,我们会使用按照自然顺序的方式来查找数组中的是否存在指定的元素。例如:/**
* 从数组中顺序查找是否存在指定的元素,如果存在则返回该元素的索引,否则返回-1
*
* @param array 指定所查找的数组
* @param&...
8年前 (2016-09-11)
阅读(2644)
赞一个 (0 )
链接直达
前面我们已经介绍了冒泡排序、选择排序、插入排序等常见的数据排序算法。现在,我们接着介绍快速排序。快速排序可以说是排序算法中的一个重头戏,由于其排序效率在同为O(N*logN)的几种排序方法中相对较高,因此在编程开发中经常被采用。不仅如此,诸如腾讯、微软、百度等许多互联网公司的笔试面试题中,也经常会涉及到与快速排序相关的算法,还有大大小的程序方面的考试如软考、考研中也常常出现快速排序的身影。相对冒泡排序、选择排序等算法而言,快速排序的具体...
8年前 (2016-09-11)
阅读(2542)
赞一个 (1 )
链接直达
在前面的文章中,我们介绍了冒泡排序和选择排序,现在我们接着介绍插入排序。为了便于理解,我们同样以5名运动员的身高A(181)、B(169)、C(187)、D(172)、E(163)为例,并使用插入排序法完成对5名运动员身高的排序任务。首先,教练先让排在左起第1位的A(181)站到更左侧,以便于和剩下的4名运动员形成明显的区分。教练想,以前的5名运动员之间的排列是无序的,现在我让左起第1位的运动员站出来,并把他看作一个已经按照要求排好序的...
8年前 (2016-09-11)
阅读(2270)
赞一个 (0 )
链接直达
前面我们已经介绍了冒泡排序,接着我们来看看选择排序法。同样的,我们还是以冒泡排序中五名运动员的身高A(181)、B(169)、C(187)、D(172)、E(163)为例,然后使用选择排序法,对其实现从左到右、从低到高的排序。与冒泡排序不同的是,选择排序法并不是让相邻的两名运动员按照顺序依次比较身高来得出排序结果。下面,我们来详细了解一下选择排序法的排序过程。由于5名运动员需要按照从左到右、从低到高的顺序进行排序,因此最左边的位置应该属...
8年前 (2016-09-11)
阅读(2221)
赞一个 (0 )
链接直达
二叉查找树(Binary Search Tree),也称二叉搜索树,是指一棵空树或者具有下列性质的二叉树:
任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;...
8年前 (2016-09-07)
阅读(2981)
赞一个 (0 )
链接直达
一、 语言比较PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点。语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发。而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法。所以java不如php好学。Java首先要编译成字节码.class文件,然后在java虚拟机上解释执行。Java的Web开发首先最容易想到的就是JSP(现在已经到JSP2.0),原来的java的Web开发都...
8年前 (2016-09-07)
阅读(2110)
赞一个 (0 )
链接直达
在Java开发中,由Java对转换成JSON或XML的第三方库有很多,之前文章中就有过JSONLib方式转换,Jackson方式转换,JSONP转换等等,这篇文章就来演示一下如何适合用Google的Gson库实现JSON之间的互相转换首先自定义一个Class类public class Student {
public int...
8年前 (2016-09-06)
阅读(2428)
赞一个 (0 )
链接直达