自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 java实现排序算法之归并排序(2路归并)

java实现归并排序讲解

2017-02-20 23:47:05 3324

原创 java实现排序算法之选择排序(简单选择排序和堆排序)

选择排序:就是一次从待排序列中选择一个最大元素或最小元素确定其最终位置,其中最常用的就是:简单选择排序和堆排序,下面分别讲解这两个算法:

2017-02-20 01:12:42 685

原创 java实现排序算法之插入排序(直接插入排序,折半插入排序,希尔排序)

插入排序:其基本思想就是每次将一个待排序的的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成,其主要的算法有:直接插入排序,折半插入排序,希尔排序,下面主要介绍这三个算法:

2017-02-19 00:46:48 416

原创 java实现排序算法之交换排序(冒泡排序和快速排序)

交换排序是指通过交换元素位置来实现算法的排序:最典型的就是冒泡排序和快速排序,下面分别讲解这两种算法的算法思想,稳定性,时空复杂度和java的实现代码

2017-02-18 22:56:40 2061

原创 十进制,二进制,八进制的相互转换

十进制转成十六进制:     Integer.toHexString(int i)     十进制转成八进制     Integer.toOctalString(int i)     十进制转成二进制     Integer.toBinaryString(int i)     十六进制转成十进制     Integer.valueOf("FFFF",16).toString()     八进制转成

2017-02-18 13:10:59 605

原创 算法知识点

取一个整数的后n位,就可以用这个数来对Math.pow(10,n)进行取余操作!判断一个数有多少位时,可以用这个数减去Math.pow(10,n),当结果为负数时,该数字的位数就为n-1位!(数字1除外)两个数的最小公倍数等于这个数相乘然后除去他们的最大公约数!

2017-02-18 13:10:52 378

原创 运算符优先级经典题c+=c++;

public class TestClass1 { public static void main(String[] args) { int c=0; for(int i=1;i c+=c++; } System.out.println(c); }}此程序的运算结果为0;要想理解这道题,一定首先要明白=的运算级别是最

2017-02-18 13:10:50 1405 7

原创 static 变量与方法

static 修饰的变量,该变量被加载到字节码中,对所有的类共享,当别的类需要用到static变量时,jvm就会自动寻找到该静态变量所在的类,然后自动把类加载到自己码中,静态变量只有第一被加载时会被初始化,当static 变量在该类中被修改后,别的类再次使用时,就是static变量修改后的值!static修饰的方法,是静态方法,也是存放在字节码中,须注明静态方法被类所有,使用时直接被类调用,而不需

2017-02-18 13:10:47 405

原创 反射机制

java反射机制是在运行状态中,对于任意一个类(文件class),都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法和功能称为java的反射机制。开发时多用接口+配置文件然后在程序中用反射来实现,使用反射极大的增加了程序的扩展性;想要对某个类进行操作,首先要获取到这个文件的字节码对象获取字节码对象的三种方式:1、Objec

2017-02-18 13:10:44 312

原创 java中跳出多重循环的方法

当涉及到跳出多重循环的时候,嵌套循环的时候:跳出循环可以使用的方法:1、把多重循环抽成方法,然后利用 return 语句,当满足某个条件时,直接return  结束循环;(这种方法最为常用!!)2、利用标签 和break组合语句跳出多重循环:inner:for(int i=0;i5;i++){   for(int j=0;j5;j++){     break inner;   }}break跳出循

2017-02-18 13:10:41 477

原创 时间 日期 相关类

图中箭头指向的是其父类 一、Date类:它的对像表示一个特定的瞬间,精确到毫秒。java中的时间是从:标准纪元1970.1.10点开始到某个时刻的毫秒数,类型是longDate d=new Date();默认为当前系统时间 System.currentTimeMills();d.setTime(long num);参数为long类型数值,设置时间d.getTime();...

2017-02-18 13:10:39 656

原创 正则表达式

String 类中有个matches(String regx)方法,返回一个布尔类型的值;用来匹配已给字符串是否与regx向匹配;正则表达式用于操作字符串数据。需要通过一些特定的符号来体现,因此必须要掌握一些特殊符号。使用时要经常查看api中String类中matches方法中的正则表达式符号字符类[abc]a、b 或 c(简单类)[^abc]任何字符,除了 a、b 或 c(否定)

2017-02-18 13:10:36 397

原创 IK Analyzer分词工具(转载)

IK Analyzer是基于lucene实现的分词开源框架。需要在项目中引入:IKAnalyzer.cfg.xmlIKAnalyzer2012.jarlucene-core-3.6.0.jarstopword.dic具体用法参考以下代码:package com.haha.test; import java.io.IOException; import java.io.StringReade

2017-02-18 13:10:33 1038

原创 java中产生随机数的方法

java中可以产生随机的方法就有两个:一个是Math类中的random()方法,此方法只能产生0—1.0之间的double类型的数(注意包括0,但不包括1.0),此方法比较局限,不过可以在其后乘上一些数值来进行扩展;第二中方法就是:random类,通过创建random类的对象,然后通过对象来调用类中产生随机数的方法,但是此方法有个局限就是,此方法只能控制产生随机数的上限不能控制产生随机数的下限。-

2017-02-18 13:10:28 515

原创 eclipse一闪而过的解决方式(转载)

因为多次遇到过这种问题,一直不知道怎么解决,偶然间看到过别人总结的解决方案日志,特意copy过来,以备不时之需!!!解决方式:1.检查环境变量,path变量中将jdk路径放在最前边(开头的“.;”直接后边)2.检查环境变量,path变量中将jdk中的jre路径放在最前边(开头的“.;”直接后边3.传言中的万能方案(不过估计非万能):把jdk目录下的jre目录直接复制到eclipse目录下(有人反应

2017-02-18 13:10:25 872

原创 网络编程

UDP传输:Datagramsocket:用来传送和接受数据包的类receive(),send();参数均为数据包类对象DatagramPacket:数据包类创建UDP传输发送端思路:1、建立udp的socket服务。2、将要发送的数据封装到数据包中。3、通过udp的socket服务端将数据包发送出去。3、关闭socket服务。建立UDP接收端的思路:1、建立UDP的socket服务,因为是接受数

2017-02-18 13:10:23 364

原创 Map集合

Map集合与Collection接口都是并列的,都是顶层接口;map:集合一次存放一对元素;Collection集合一次存放一个元素;map集合也称为双列集合;Collection集合称为单列集合;其实map集合中存储的就是键值对map;注意:map集合中必须保持键的唯一性常用方法:1、添加: put(k,v):返回前一个和key关联的值(即假如覆盖的话返回要覆盖的那个value值),如果没有则返

2017-02-18 13:10:20 364

原创 File类

File类:用来将文件或者文件夹封装成对象,以此来方便对文件或者是文件夹的属性操作。构造方法:1、直接通过路径名进行创建文件 2、通过路径名和文件名来创建文件,这样的好处当需要不断改变文件名时可以让他们保存在同一路径下;File类中直接提供方法separator()来实现路径的分割符(\\),这样的优点是当在不同的操作系统下运行时可以防止不同环境下分隔符不同而导致的路径名不对,File类的属性:名

2017-02-18 13:10:17 358

原创 输入流与输出流

这里的输入与输出针对的都是程序,程序的输入与输出(输入流)InputStream: 字节流:FileInputStream 、System.in         ——FileInputStream中有available()方法可获得文件的字节数 缓冲字节流:BufferedInputStream 字符流:FileReader、PrintReader 缓冲字符流:BufferedReader  

2017-02-18 13:10:14 463

转载 java运行的详细内存分析,精确到每一步!!!!

基础数据类型(Value type)直接在栈(stack)空间分配,方法的形式参数,直接在栈空间分配,当方法调用完成后从栈空间回收。引用数据类型,需要用new来创建,既在栈空间分配一个地址空间(reference),又在堆空间分配对象的类变量(object) 。方法的引用参数,在栈空间分配一个地址空间,并指向堆空间的对象区,当方法调用完成后从栈空间回收。局部变量 new 出来时,在栈空间和堆空间中

2017-02-18 13:10:12 10602 3

原创 java内存分析(转载)

之前一直对java的内存很迷茫,看到这一篇文章后真的明白了很多,因此特意转载过来供大家一块学习!!java中内存大致可以分为以下几部分:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)— 由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、

2017-02-18 13:10:09 644

原创 String、StringBuilder和StringBuffer的区别(转载)

最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下  1.三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String  2.Stri

2017-02-18 13:10:06 211

原创 线程的同步与通信

线程同步的一些问题:首先需要分析什么情况下需要用到同步,当一个对象能够被多个线程所调用时,并且有多个语句来对这个对象进行操作,为了防止在当前线程执行语句到一半的时候,线程的控制权被交出去,让另外的线程的线程执行 ,从而导致线程安全问题,为了防止这种情况发生,同步也就因此产生,同步的目的就是把公用的对象给锁起来,当执行一次调用时,必须将锁起来的对象全部调用完,才能够将控制权交给下一个线程,这样就有效

2017-02-18 13:10:04 303

原创 写程序时遇到的一点小知识点,不断补充中……

<span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-the

2017-02-18 13:10:01 461

原创 给自己

偶然从别人的一篇日志中得知,一个程序员一定要养一个博客,在上面经常发一些自己的编程心得,或者是从别人那里学到的技术,经过整理写到自己的博客里,这样以后经常性的翻看,让它变成自己的东西,这就是我开这个博客的原因之一,也是我开这个博客的最大动力!!  为什么说这只是原因之一,那是因为我开这个博客还有另外的一个目的——不断总结自己的生活状态,把写博客当作写日记来实现。我从来没有一个写日志的习惯,虽然脑袋

2017-02-18 13:09:55 353

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除