javaSE
文章平均质量分 63
NFMSR
小白!!
展开
-
写程序时遇到的一点小知识点,不断补充中……
<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 · 484 阅读 · 0 评论 -
反射机制
java反射机制是在运行状态中,对于任意一个类(文件class),都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法和功能称为java的反射机制。开发时多用接口+配置文件然后在程序中用反射来实现,使用反射极大的增加了程序的扩展性;想要对某个类进行操作,首先要获取到这个文件的字节码对象获取字节码对象的三种方式:1、Objec原创 2017-02-18 13:10:44 · 329 阅读 · 0 评论 -
static 变量与方法
static 修饰的变量,该变量被加载到字节码中,对所有的类共享,当别的类需要用到static变量时,jvm就会自动寻找到该静态变量所在的类,然后自动把类加载到自己码中,静态变量只有第一被加载时会被初始化,当static 变量在该类中被修改后,别的类再次使用时,就是static变量修改后的值!static修饰的方法,是静态方法,也是存放在字节码中,须注明静态方法被类所有,使用时直接被类调用,而不需原创 2017-02-18 13:10:47 · 427 阅读 · 0 评论 -
算法知识点
取一个整数的后n位,就可以用这个数来对Math.pow(10,n)进行取余操作!判断一个数有多少位时,可以用这个数减去Math.pow(10,n),当结果为负数时,该数字的位数就为n-1位!(数字1除外)两个数的最小公倍数等于这个数相乘然后除去他们的最大公约数!原创 2017-02-18 13:10:52 · 401 阅读 · 0 评论 -
十进制,二进制,八进制的相互转换
十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.valueOf("FFFF",16).toString() 八进制转成原创 2017-02-18 13:10:59 · 639 阅读 · 0 评论 -
运算符优先级经典题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 · 1452 阅读 · 7 评论 -
java运行的详细内存分析,精确到每一步!!!!
基础数据类型(Value type)直接在栈(stack)空间分配,方法的形式参数,直接在栈空间分配,当方法调用完成后从栈空间回收。引用数据类型,需要用new来创建,既在栈空间分配一个地址空间(reference),又在堆空间分配对象的类变量(object) 。方法的引用参数,在栈空间分配一个地址空间,并指向堆空间的对象区,当方法调用完成后从栈空间回收。局部变量 new 出来时,在栈空间和堆空间中转载 2017-02-18 13:10:12 · 10638 阅读 · 3 评论 -
java 位运算
之前学java感觉位运算都用不到,因此当时学的就很不认真,今天做算法题看到一个题,用位运算感觉很方便,以后做算法题也可以多个思路,因此今天总结一下位运算的相关操作:左移将5左移2位 System.out.println(5<<2);//运行结果是20 java中int 默认4字节 32 位 0000 0000 0000 0000 0000 0000 0000 0101 左移两个字节得原创 2017-10-14 23:36:28 · 326 阅读 · 0 评论 -
Java 中Synchronized 与 ReentrantLock 区别与联系
一、synchronized关键字1.synchronized简介synchronized实现同步的基础:Java中每个对象都可以作为锁。当线程试图访问同步代码时,必须先获得对象锁,退出或抛出异常时必须释放锁。Synchronzied实现同步的表现形式分为:代码块同步和方法同步。2.synchronized原理JVM基于进入和退出Monitor对象来实现代码块同步和方法同步,两者实现细节不转载 2017-11-12 16:01:13 · 847 阅读 · 0 评论 -
深入理解java垃圾回收机制
深入理解java垃圾回收机制一、垃圾回收机制的意义Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。ps: 内存泄露是指该内存空间使用完原创 2017-11-24 22:39:52 · 463 阅读 · 0 评论 -
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 · 501 阅读 · 0 评论 -
时间 日期 相关类
图中箭头指向的是其父类 一、Date类:它的对像表示一个特定的瞬间,精确到毫秒。java中的时间是从:标准纪元1970.1.10点开始到某个时刻的毫秒数,类型是longDate d=new Date();默认为当前系统时间 System.currentTimeMills();d.setTime(long num);参数为long类型数值,设置时间d.getTime();...原创 2017-02-18 13:10:39 · 676 阅读 · 0 评论 -
正则表达式
String 类中有个matches(String regx)方法,返回一个布尔类型的值;用来匹配已给字符串是否与regx向匹配;正则表达式用于操作字符串数据。需要通过一些特定的符号来体现,因此必须要掌握一些特殊符号。使用时要经常查看api中String类中matches方法中的正则表达式符号字符类[abc]a、b 或 c(简单类)[^abc]任何字符,除了 a、b 或 c(否定)原创 2017-02-18 13:10:36 · 426 阅读 · 0 评论 -
线程的同步与通信
线程同步的一些问题:首先需要分析什么情况下需要用到同步,当一个对象能够被多个线程所调用时,并且有多个语句来对这个对象进行操作,为了防止在当前线程执行语句到一半的时候,线程的控制权被交出去,让另外的线程的线程执行 ,从而导致线程安全问题,为了防止这种情况发生,同步也就因此产生,同步的目的就是把公用的对象给锁起来,当执行一次调用时,必须将锁起来的对象全部调用完,才能够将控制权交给下一个线程,这样就有效原创 2017-02-18 13:10:04 · 325 阅读 · 0 评论 -
String、StringBuilder和StringBuffer的区别(转载)
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String 2.Stri原创 2017-02-18 13:10:06 · 228 阅读 · 0 评论 -
java内存分析(转载)
之前一直对java的内存很迷茫,看到这一篇文章后真的明白了很多,因此特意转载过来供大家一块学习!!java中内存大致可以分为以下几部分:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)— 由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、原创 2017-02-18 13:10:09 · 659 阅读 · 0 评论 -
输入流与输出流
这里的输入与输出针对的都是程序,程序的输入与输出(输入流)InputStream: 字节流:FileInputStream 、System.in ——FileInputStream中有available()方法可获得文件的字节数 缓冲字节流:BufferedInputStream 字符流:FileReader、PrintReader 缓冲字符流:BufferedReader原创 2017-02-18 13:10:14 · 482 阅读 · 0 评论 -
File类
File类:用来将文件或者文件夹封装成对象,以此来方便对文件或者是文件夹的属性操作。构造方法:1、直接通过路径名进行创建文件 2、通过路径名和文件名来创建文件,这样的好处当需要不断改变文件名时可以让他们保存在同一路径下;File类中直接提供方法separator()来实现路径的分割符(\\),这样的优点是当在不同的操作系统下运行时可以防止不同环境下分隔符不同而导致的路径名不对,File类的属性:名原创 2017-02-18 13:10:17 · 399 阅读 · 0 评论 -
Map集合
Map集合与Collection接口都是并列的,都是顶层接口;map:集合一次存放一对元素;Collection集合一次存放一个元素;map集合也称为双列集合;Collection集合称为单列集合;其实map集合中存储的就是键值对map;注意:map集合中必须保持键的唯一性常用方法:1、添加: put(k,v):返回前一个和key关联的值(即假如覆盖的话返回要覆盖的那个value值),如果没有则返原创 2017-02-18 13:10:20 · 392 阅读 · 0 评论 -
网络编程
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 · 377 阅读 · 0 评论 -
eclipse一闪而过的解决方式(转载)
因为多次遇到过这种问题,一直不知道怎么解决,偶然间看到过别人总结的解决方案日志,特意copy过来,以备不时之需!!!解决方式:1.检查环境变量,path变量中将jdk路径放在最前边(开头的“.;”直接后边)2.检查环境变量,path变量中将jdk中的jre路径放在最前边(开头的“.;”直接后边3.传言中的万能方案(不过估计非万能):把jdk目录下的jre目录直接复制到eclipse目录下(有人反应原创 2017-02-18 13:10:25 · 907 阅读 · 0 评论 -
java中产生随机数的方法
java中可以产生随机的方法就有两个:一个是Math类中的random()方法,此方法只能产生0—1.0之间的double类型的数(注意包括0,但不包括1.0),此方法比较局限,不过可以在其后乘上一些数值来进行扩展;第二中方法就是:random类,通过创建random类的对象,然后通过对象来调用类中产生随机数的方法,但是此方法有个局限就是,此方法只能控制产生随机数的上限不能控制产生随机数的下限。-原创 2017-02-18 13:10:28 · 541 阅读 · 0 评论 -
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 · 1065 阅读 · 0 评论 -
java 深度理解之上转型,多态
重载方法必须满足以下条件:◦ 方法名相同。◦ 方法的参数类型、 个数、 顺序至少有一项不相同。◦ 方法的返回类型可以不相同。◦ 方法的修饰符可以不相同。注意:只要参数类型,个数,顺序有一个不同就是重载,别的可以相同,也可以不同。注意:java方法名和变量名是区分大小写的,大小写不同是不同的变量。举例:以下Sample类中已经定义了一个amethod()方法:pu原创 2018-01-04 20:50:39 · 392 阅读 · 0 评论