JAVA
lhj_sjtu
爱科研,爱技术,爱生活的工科女,但也是萌妹子!!!
展开
-
如何安装JAVA+eclipse(顺便记一下自己踩过的坑)
为了开始用这个世界排名第一的语言JAVA,也为了自己以后更好的找工作,只能自学JAVA了,没想到安装JAVA的时候各种bug,所以这儿写一个这方面的总结。需要下的安装包有两个,一个是JDK+JRE的安装包,一个是eclipse的安装包,eclipse其实不需要安装什么,下载下来之后打开eclipse.exe就可以直接用了,所以需要谨慎的是JDK+JRE的安装过程。根据下面这个链接可以下到e原创 2018-01-02 17:04:22 · 23991 阅读 · 8 评论 -
Hashmap工作原理
public static void main(String[] args) { // TODO 自动生成的方法存根 String str = "abcaaaefdabbhg"; //count(str); HashMap<String, Integer> map = new HashMap<String, In...原创 2018-04-14 22:38:03 · 215 阅读 · 0 评论 -
Java链表
package myTest;public class Node{ int data=-1; Node next; Node(int data){ this.data=data; } Node(){ } public static Node BuildmyLinkarr(int []arr,boolean HasHeadNode){ if (arr.lengt...原创 2018-03-25 19:48:25 · 438 阅读 · 1 评论 -
牛客网
package myTest;import java.util.*;public class Stacktest { public static void main(String[]args){ Solution e=new Solution(); String[]token= new String[]{"6","3","/","4","+","2","原创 2018-04-05 14:02:33 · 418 阅读 · 0 评论 -
JAVA8接口(一)
https://amberno1111.github.io/2017/07/16/Java/Java%E4%B8%AD%E7%9A%84%E6%8E%A5%E5%8F%A3%EF%BC%88%E4%B8%80%EF%BC%89%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5/接口的概念与定义Java中的接口(interface)技术主要用来描述类具有什么功能,而并不给出每个...转载 2018-04-13 16:16:54 · 313 阅读 · 0 评论 -
JAVA8接口(二)
https://my.oschina.net/benhaile/blog/176007什么是默认方法,为什么要有默认方法简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法。只需在方法名前面加个default关键字即可。 为什么要有这个特性?首先,之前的接口是个双刃剑,好处是面向抽象而不是面向具体编程,缺陷是,当需要修改接口时候,需要修改全部实现该接口的类,目前的java 8之前的集合框架...转载 2018-04-13 17:02:45 · 299 阅读 · 0 评论 -
面试必备 | 深入解析Java垃圾回收机制
转载自https://blog.csdn.net/qq496013218/article/details/76968464深入解析Java垃圾回收机制引入垃圾回收哪些内存需要回收?引用计数法可达性分析如何回收Marking 标记Normal Deletion 清除Deletion with Compacting 压缩为什么需要分代收集?JVM的分代新生代老年代永久代分代垃圾收集过程详述引入垃圾回收...转载 2018-05-03 11:37:32 · 169 阅读 · 0 评论 -
java垃圾回收机制--我的总结
原创 2018-05-03 11:56:12 · 146 阅读 · 0 评论 -
java异常面试题
1.什么是Java异常答:异常是发生在程序执行过程中阻碍程序正常执行的错误事件。比如:用户输入错误数据、硬件故障、网络阻塞等都会导致出现异常。 只要在Java语句执行中产生了异常,一个异常对象就会被创建,JRE就会试图寻找异常处理程序来处理异常。如果有合适的异常处理程序,异常对象就会被异常处理程序接管,否则,将引发运行环境异常,JRE终止程序执行。 Java异常处理框架只能处理运行时错误,编译错误...转载 2018-05-03 11:58:46 · 1268 阅读 · 0 评论 -
猫狗队列题目
源码下载链接: https://github.com/huijuanl/AlgorithmLearning.git (目录:/src/main/java/CatDogPackage/)https://github.com/huijuanl/AlgorithmLearning.githttps://github.com/huijuanl/AlgorithmLearning.gitpackage ...原创 2018-06-23 16:22:49 · 485 阅读 · 0 评论 -
HashMap&HashTable&LinkedHashMap&TreeMap
最近发现对Map类的理解还不够深刻 ,因此在这边赶紧总结mark一下,Map类还是非常有用滴~ (1)HashMap与HashTable: 相同点:这两者都存储的键值对是无序的 不同点:HashMap线程不安全;HashTable线程不安全; HashMap支持key或value的值为Null;Hashtable不支持key或value的...原创 2018-08-10 16:11:26 · 230 阅读 · 0 评论 -
JAVA工厂模式
工厂模式包含以下三种形态:简单工厂概念:简单工厂的工厂类是根据提供给它的参数,返回几个可能产品中的一个实例,通常情况下,这些可能产品都有一个公共的父类和公共的方法适用场景: (1)需要创建的用户对象较少 (2)客户端不关心对象的创建过程简单工厂模式角色分配: 工厂(Factory)角色 :简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建...原创 2018-08-14 11:21:22 · 265 阅读 · 0 评论 -
JAVA集合类框架学习汇总
学习链接:集合类框架教程:http://www.runoob.com/java/java-collections.html集合类框架面试题:https://www.jianshu.com/p/8b0a09f70b9c集合类框架的优点:通过使用集合框架的核心类可以减少开发成本,从而避免实现自己的集合类。 使用经过良好测试的集合类可以提高代码的质量。 使用JDK自带的集合类可以减少...原创 2018-08-02 11:38:51 · 408 阅读 · 0 评论 -
Comparable和Comparator接口比较
Java提供了只包含一个compareTo()方法的Comparable接口。这个方法可以个给两个对象排序。具体来说,它返回负数,0,正数来表明已经存在的对象小于,等于,大于输入对象。Java提供了包含compare()和equals()两个方法的Comparator接口。compare()方法用来给两个输入参数排序,返回负数,0,正数表明第一个参数是小于,等于,大于第二个参数。equals()...原创 2018-08-02 16:36:00 · 234 阅读 · 0 评论 -
双亲委派机制
上图中展示的类加载器之间的这种层次关系,称为类加载器的双亲委派模型。双亲委派模型除了顶层的启动类加载器之外,其余的类加载器都应当有自己的父类加载器。双亲委派机制的工作过程:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的请求都应该最终传送到顶层的启动类加载器中,只有当父加载器反馈自己无法完成这...原创 2018-08-14 20:56:36 · 1565 阅读 · 0 评论 -
JAVA NIO 和IO
之前面拼多多的时候有被问到NIO与IO的区别,但是遗憾的是我没有好好看过NIO。NIO是什么NIO是java1.4之后新出的一套IO接口。NIO相比IO,最大的特点就是非阻塞。 区别:&amp;nbsp; | 区别 | IO &amp;nbsp; &amp;nbsp; | NIO &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &a原创 2018-08-13 16:46:07 · 149 阅读 · 0 评论 -
JAVA单例模式实现详解
单例模式的特点类的内部包括待返回的类的实例,为private static类型类的构造函数为私有构造函数,以防止在其他类中实例化,private的作用是防止在其他类中用构造函数创建该类的实例提供一个获取实例的静态方法单例模式1:饱汉模式+考虑了线程安全(双重检查锁)public class Singleton1 { private static volatile...原创 2018-08-13 21:00:22 · 294 阅读 · 0 评论 -
Unicode
Unicode最终,美国人意识到他们应该提出一种标准方案来展示世界上所有语言中的所有字符,出于这个目的,Unicode诞生了。Unicode 当然是一本很厚的字典,记录着世界上所有字符对应的一个数字。具体是怎样的对应关系,又或者说是如何进行划分的,就不是我们考虑的问题了,我们只用知道 Unicode 给所有的字符指定了一个数字用来表示该字符。对于 Unicode 有一些误解,它仅仅只是一个字符集,...原创 2018-03-21 11:04:45 · 5324 阅读 · 0 评论 -
JAVA面试基础易错总结题
1.Java类型提升:int x=3;byte b=4;x=x+b;运算的时候,自动把byte b值补为32位。然后与x进行运算。(int是4个字节,byte是一个字节)2.Java强制类型转换 丢失精度int x=3;byte b=4;b=(byte)(b+x);b+x是int型。3.区别(重要,容易错)byte b=4;byte原创 2018-01-05 14:18:12 · 1069 阅读 · 0 评论 -
java中的空串""和null有什么区别
空串是一个已经实例化之后的对象,是有内存空间的,只不过内存空间中存储的值为空。而null表示的是没有实例化的对象,不占内存空间。String aaa = "";//空串String bbb=null; //null值如果public class HelloWorld { public static void main(String [] args){ Syst原创 2018-02-05 17:10:30 · 3699 阅读 · 0 评论 -
java中关于栈、堆、常量池介绍和关于String类的理解
栈、 常量池、 堆各自存放什么样的数据类型?栈:存放基本类型的变量数据和对象的引用。像int a = 1; String str = "hello" ; String str1 = new String("OK") ; 栈中存放的是 a, 1, str, str1。常量池:存放基本类型常量和字符串常量。堆:存放所有new出来的对象。对于栈和常量池中的对象可以共享,对于堆中的对象不可以共享。栈中...转载 2018-02-10 15:51:53 · 149 阅读 · 0 评论 -
ubuntu下自己写一个在某package文件下的HelloWorld.java如何执行
如果不用eclipse和idea等ide工具,当自己写一个在某package文件下的HelloWorld.java后如何执行呢?也就是说,我的HelloWorld.java文件在~/Desktop/JAVA/java/src/hello目录下,其中hello为HelloWorld类的package,那么怎么生成相应的HelloWorld.class和HelloWorld.java文件呢?方法如下:...原创 2018-02-05 16:55:45 · 330 阅读 · 0 评论 -
Java学习总结--字符串String类和基本的数据类型有什么区别
1. String类是final类,可以从String类的定义来看出。String类的开头定义如下:从上面可以看出,String类是final类,也就意味着String类是不能被继承的。1)String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法。在Java中,被final修饰的类是不允许被继承的,并且该类中的成员方法都默认为final方法。2)上面...原创 2018-02-10 11:05:04 · 9490 阅读 · 0 评论 -
JAVA中数组初始化时用new与不用new有区别吗
不同于String类,String由于实现了常量池 所以new 和不new 有区别:new的话,引用变量指向堆区。不new的话,引用变量指向常量池。对于数组的定义,初始化时用new与不用new 没区别,只是两种方式罢了,因为数组是引用数据类型,建立对象时,无论用不用new,数组实体都是放在堆内存中,引用变量放在栈内存。...原创 2018-02-10 17:26:24 · 9311 阅读 · 0 评论 -
java中间缓存变量机制
[java] view plain copypublic class Test{ public static void main(String[] args) { int i=0; for (int j = 0; j <100; j++) { i=++i; } System.out.p...转载 2018-03-02 15:52:24 · 214 阅读 · 0 评论 -
java中length()和length有什么区别
length是属性,一般用来说明数组的长度length()是方法,针对字符串String说的,用来求字符串长度 此代码输出结果为 7 4. 如果想求s2[0]字符串的长度代码可写:t2 = s2[0].length() 即可,即melon的长度,若输出t2的结果则为5....转载 2018-03-02 17:31:39 · 3197 阅读 · 0 评论 -
java面试题和答案总结
1. 下面代码的输出结果是?int i = 012;int j = 034;int k = (int)56L;int l = 078;System.out.println(i);System.out.println(j);System.out.println(k); A. 输出12,34,56 B. int k=(int)056L;行编译错误 C. 输出10,28,46 D. int l=...原创 2018-03-02 22:20:57 · 360 阅读 · 0 评论 -
java面试题之请给出一段代码描述字符串写入文件
import java.io.*;public class Test{ public static void main(String []args){ try{FileOutputStream out = new FileOutputStream("Filename.txt"); out.write("字符串写入文件".getBytes());out.close(); }catch(...原创 2018-03-05 10:37:40 · 421 阅读 · 0 评论 -
二分查找(非递归算法和递归算法)
非递归算法:package mytest;public class test { public static int BinarySearch(int low,int high,int[]arr,int x){ int loc=-1; while(low<=high){ int mid=(low+high)/2; if(x==arr[mid]){loc=mid;br...原创 2018-03-19 11:09:20 · 1820 阅读 · 0 评论 -
怎么判断一个数是否是素数
package mytest;import java.util.Scanner;public class test { public static boolean IsPrimeNumber(int x){ for(int i =2;i<=Math.sqrt(x);i++){ if (x%i==0) return true; } return false; ...原创 2018-03-19 14:48:27 · 365 阅读 · 0 评论 -
java中int的取值范围是多少
最近在看算法书的时候发现一个非常有意思的现象,在java中输入:System.out.println(Math.abs(-2147483648));输出为:-2147483648针对这个问题,我发现网上说的都不是很准确。Math.abs(int x)的实现源码是这样的:public static int abs(int a) { return (a < 0) ? -a : a...原创 2018-03-19 15:45:39 · 34576 阅读 · 3 评论 -
将一个正整数转化为二进制并用字符串表示输出
public static void main(String[]args){ String s=""; int N=198; while(N>0){ s=String.valueOf(N%2)+s; N=N/2; } System.out.println(s); }原创 2018-03-19 17:52:18 · 5096 阅读 · 0 评论 -
JAVA中的二维数组的定义及使用
二维数组其实是一位数组的嵌套(每一行看做一个内层的一维数组) 两种初始化形式 格式1: 动态初始化数据类型 数组名 [ ][ ] = new 数据类型[m][n]数据类型 [ ][ ] 数组名 = new 数据类型[m][n]数据类型 [ ] 数组名 [ ] = new 数据类型[m][n]举例:int [ ][ ] arr=new int [5][3]; 也可以理解为“5行3例...原创 2018-03-19 18:24:44 · 173913 阅读 · 11 评论 -
二叉树相关操作(Java实现)
package myTest;import java.util.ArrayList;//二叉树的节点类,你可以将它写成内部类的形式class BTreeNode { int data; BTreeNode Left; BTreeNode Right; public BTreeNode(int data) { this.data=data; ...原创 2018-03-29 17:49:07 · 167 阅读 · 0 评论 -
IK分词器原理
IKAnalyzer是一个开源的,基于Java语言开发的轻量级的中文分词语言包,它是以Lucene为应用主体,结合词典分词和文法分析算法的中文词组组件。从3.0版本开始,IK发展为面向java的公用分词组件,独立Lucene项目,同时提供了对Lucene的默认优化实现。以下这篇博客是我在通读IK分词代码后对IK分词的理解,如果有什么地方出现纰漏请大家指正。回到最初如果让我自己在看IK分词之前自己写...转载 2018-03-21 10:15:35 · 3648 阅读 · 0 评论 -
Spring Demo例子详解
Spring Demo例子详解该项目是作为我的Spring Demo,Demo源码见[https://github.com/huijuanl/Spring中的spring-lihuijua]中的项目,可以下载后直接运行。Demo的搭建见下面部分,下面是一个Spring Demo体现IOC作用的例子:Intellij IDEA的安装Intellij IDEA要使用旗舰版,旗舰版网上有很多...原创 2018-10-06 15:00:05 · 6808 阅读 · 2 评论