java基础知识
QilongPan
这个作者很懒,什么都没留下…
展开
-
android开发
1.android连接真机调试,记得打开开发者选项、usb调试https://blog.csdn.net/qq_40366444/article/details/90340336原创 2019-11-19 23:07:11 · 148 阅读 · 0 评论 -
Java的native方法
第一篇:今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解。一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它转载 2017-07-14 16:45:13 · 245 阅读 · 0 评论 -
Java中ArrayList和LinkedList区别
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势转载 2017-07-05 14:22:28 · 153 阅读 · 0 评论 -
HashMap和Hashtable的区别
首页所有文章资讯Web架构基础技术书籍教程Java小组工具资源HashMap和Hashtable的区别2013/11/12 | 分类: 基础技术 | 5 条评论 | 标签: 基础技术分享到:135本文由 ImportNew - 唐小娟 翻译自 Javarevisited。欢迎加入翻译小组。转载请见文末要转载 2017-07-05 14:15:53 · 140 阅读 · 0 评论 -
java 两种比较器的详细介绍及实例
1. Comparator 和 Comparable 相同的地方他们都是java的一个接口, 并且是用来对自定义的class比较大小的,什么是自定义class: 如 public class Person{ String name; int age }.当我们有这么一个personList,里面包含了person1, person2, persion3....., 我们用C转载 2017-07-04 17:11:38 · 466 阅读 · 0 评论 -
三分钟理解Java中字符串(String)的存储和赋值原理
可能很多Java的初学者对String的存储和赋值有迷惑,以下是一个很简单的测试用例,你只需要花几分钟时间便可理解。1.在看例子之前,确保你理解以下几个术语:栈:由JVM分配区域,用于保存线程执行的动作和数据引用。栈是一个运行的单位,Java中一个线程就会相应有一个线程栈与之对应。堆:由JVM分配的,用于存储对象等数据的区域。常量池:在编译的阶段,在堆中分配出来的一块存储区域,用于转载 2017-07-04 16:41:16 · 329 阅读 · 0 评论 -
java中static{}语句块详解
static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用。 一、在程序的一次执行过程中,static{}语句块中的内容只被执行一次,看下面的示例:示例一[java] view plaincopyclass Test{转载 2017-06-03 09:52:15 · 426 阅读 · 0 评论 -
Java四种线程池的使用
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。转载 2017-06-02 08:46:58 · 232 阅读 · 0 评论 -
System.out.println和System.err.println的区别
很多人在调试程序的时候使用IDE的断点来跟踪很方便,但是之前一直使用的System打印来人肉定位程序,所以控制台输出很重要,但是往往我们很疑惑什么时候使用System.out.println和System.err.println,从字面的意思来理解的话,一般性的输出用out,错误使用err,但是这似乎只是字面上的不同,我们还是不清楚到底实质上的区别是什么?这里我转载 2017-05-08 11:03:38 · 279 阅读 · 0 评论 -
如何将本地文件上传到github托管
Github开源代码库以及版本控制系统,可以托管各种git库,可以将个人Blog或小型项目托管到github,方便看起来又高大上的样子,哈哈哈,下面就看一下实践过程和成果吧!一:注册账号:地址: ([https://github.com/),如果有了账号直接登录就ok了!]login.png2.下载安装git:https://git-scm.com/downloads3转载 2017-05-26 17:24:39 · 317 阅读 · 0 评论 -
Java中的嵌套类、内部类、静态内部类
在Java中我们在一个类的内部再定义一个类,如下所示:[java] view plain copy class OuterClass { ... class NestedClass { ... } } 那么在上面的例子中我们称OuterClass为外围类(enclosing class),里面的那个类称之为嵌套类(Nested Clas原创 2017-05-07 13:45:05 · 344 阅读 · 0 评论 -
java native方法及JNI实例
1.参考文献:http://blog.csdn.net/youjianbo_han_87/article/details/2586375http://blog.csdn.net/yangjiali014/article/details/1633017http://blog.chinaunix.net/space.php?uid=7437948&do=blog&id=2054823转载 2017-05-24 15:02:17 · 318 阅读 · 0 评论 -
BigInteger简单使用及方法总结
BigInteger 可以用来解决数据的溢出问题!下面我总结几种关于BigInteger的常用用法:1。probablePrime和nextprobablePrime。(判断质数,并返回) BigInteger.probablePrime(int x); 返回有可能是素数(质数),具有指定长度的正数BigInteger,返回可能是合数的概率不超过2的负100次方转载 2017-04-10 20:17:24 · 6790 阅读 · 0 评论 -
Java中堆内存和栈内存详解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。转载 2017-04-09 15:57:53 · 153 阅读 · 0 评论 -
Java中匿名类的两种实现方式
使用匿名内部类课使代码更加简洁、紧凑,模块化程度更高。内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到。然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式:第一种,继承一个类,重写其方法;第二种,实现一个接口(可以是多个),实现其方法。下面通过代码来说明:[java] view plain copy print?pu转载 2017-04-09 15:51:13 · 274 阅读 · 0 评论 -
Vector与ArrayList区别
在写java的时候,基本上都喜欢用arraylist,甚至我都不知道有个vector的存在。查了一下发现又是线程安全问题。。。咋个线程安全天天围着我转呢。。。多得阿里巴巴,让我开始认识java的所谓线程安全问题。the following is from:http://blessed24.javaeye.com/blog/7513361. Vector & ArrayList 1)转载 2017-07-05 14:25:01 · 130 阅读 · 0 评论 -
各大公司Java后端开发面试题总结
ThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。ThreadLocal类中维护一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值为对应线程的变量转载 2017-07-05 19:40:41 · 223 阅读 · 0 评论 -
hashCode与equals的区别与联系
一、equals方法的作用 1、默认情况(没有覆盖equals方法)下equals方法都是调用Object类的equals方法,而Object的equals方法主要用于判断对象的内存地址引用是不是同一个地址(是不是同一个对象)。2 、要是类中覆盖了equals方法,那么就要根据具体的代码来确定equals方法的作用了,覆盖后一般都是通过对象的内容是否相等来判断对象是否相等。没有转载 2017-09-11 15:26:07 · 189 阅读 · 0 评论 -
两个Integer 用== 比较不相等的原因
Integer a1 = 127; Integer b1 = 127; if(a1==b1){ System.out.println("相等"); }else{ System.out.println("不等"); } Integer a = 128; Integer b = 128; if(a==b){转载 2017-08-24 11:02:26 · 1309 阅读 · 0 评论 -
JAVA中String类的intern()方法的作用
一般我们变成很少使用到 intern这个方法,今天我就来解释一下这个方法是干什么的,做什么用的首先请大家看一个例子:[java] view plain copy print?public static void main(String[] args) throws Exception { String a = "b" ;原创 2017-08-14 09:55:47 · 217 阅读 · 0 评论 -
内存泄露、内存溢出
要点内存泄露是指程序中间动态分配了内存,但在程序结束时没有释放这部分内存,从而造成那部分内存不可用的情况,重启计算机可以解决,但也有可能再次发生内存泄露,内存泄露和硬件没有关系,它是由软件设计缺陷引起的。 内存泄漏可以分为4类:1) 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。2) 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操转载 2017-08-14 09:23:43 · 299 阅读 · 0 评论 -
轻松搞定面试中的二叉树题目
版权声明:本文为博主原创文章,未经博主允许不得转载。版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分转载 2017-08-17 10:01:11 · 160 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制转载 2017-07-17 22:06:46 · 154 阅读 · 0 评论 -
java集合框架的讲解
下面要开始java中相关集合框架的学习啦。 Are you ready?Let's go~~ 今天要讲解的Java中的集合框架。 1) 首先查看jdk中Collection类的源码后会发现如下内容: 123456... * @see AbstractCollection *@since转载 2017-07-16 10:54:55 · 227 阅读 · 0 评论 -
forward和redirect的区别
SetCookie、GetCookie自行设定有效日期:Response.Cookies(CookieName).Expires=#日期# 页面转发区别:在Servlet中两种实现: forward方式:request.getRequestDispatcher("/somePage.jsp").forward转载 2017-07-06 15:10:04 · 161 阅读 · 0 评论 -
HTTP POST GET 本质区别详解
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETEURL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,P转载 2017-07-06 14:48:26 · 605 阅读 · 0 评论 -
=="和Equals的区别
public class EqualTest { public static void main(String[] args) { //对于基本类型的变量。"=="和"equal"的区别 int t1=57; int t2=67; int t3=124; int t4=124; //“==”对于基本数据类转载 2017-07-06 14:35:21 · 212 阅读 · 0 评论 -
Java transient关键字
Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。 Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。 这样当多个线程转载 2017-07-06 11:37:34 · 188 阅读 · 0 评论 -
深入Java集合学习系列:Hashtable的实现原理
我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable。第1部分 Hashtable介绍第2部分 Hashtable数据结构第3部分 Hashtable源码解析(基于JDK1.6.0_45)第4部分 Hashtable遍历方式第5部分 Hashtable示例转载请注明出处:http://www.cnblogs.com/转载 2017-07-06 11:03:36 · 366 阅读 · 0 评论 -
HashMap实现原理分析
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。转载 2017-07-06 10:52:11 · 142 阅读 · 0 评论 -
如何写一个不可变类?
不可变的对象指的是一旦创建之后,它的状态就不能改变。String类就是个不可变类,它的对象一旦创建之后,值就不能被改变了。阅读更多: 为什么String类是不可变的不可变对象对于缓存是非常好的选择,因为你不需要担心它的值会被更改。不可变类的另外一个好处是它自身是线程安全的,你不需要考虑多线程环境下的线程安全问题。阅读更多: Java线程教程以及Java多线程面试问题下面是创建不转载 2017-04-09 15:41:30 · 327 阅读 · 0 评论 -
为什么String类是不可变的?
String是所有语言中最常用的一个类。我们知道在Java中,String是不可变的、final的。Java在运行时也保存了一个字符串池(String pool),这使得String成为了一个特别的类。String类不可变性的好处只有当字符串是不可变的,字符串池才有可能实现。字符串池的实现可以在运行时节约很多heap空间,因为不同的字符串变量都指向池中的同一个字符串。但如果字符串是可变转载 2017-04-09 15:36:47 · 211 阅读 · 0 评论 -
深入理解Java中的final关键字
Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的。final关键字的含义?final在Java中是一个保留的关键字,可以声明成转载 2017-04-09 15:34:09 · 165 阅读 · 0 评论 -
Request对象的主要方法
Request对象的主要方法: setAttribute(String name,Object):设置名字为name的request 的参数值 getAttribute(String name):返回由name指定的属性值 getAttributeNames():返回request 对象所有属性的名字集合,结果是一个枚举的实例 getCookies():返回客户端的所有 Cooki转载 2016-07-28 15:06:52 · 218 阅读 · 0 评论 -
SimpleDateFormat使用详解
public class SimpleDateFormat extends DateFormatSimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动。 但是,希望用 DateFor转载 2016-07-28 15:01:05 · 193 阅读 · 0 评论 -
字符串的startsWith和endWith方法
startsWith():例如:if(a.startsWith(b)) //判断字符串a 是不是以字符串b开头。语法1 public boolean startsWith(String prefix , int toffset) 返回值:如果参数表示的字符序列是此对象从索引toffset处开始的子字符串,则返回true;否则返回false。如果toffset为负或大于此String对象转载 2016-07-28 09:09:15 · 13260 阅读 · 0 评论 -
简单介绍java Enumeration
Enumeration接口 Enumeration接口本身不是一个数据结构。但是,对其他数据结构非常重要。 Enumeration接口定义了从一个数据结构得到连续数据的手段。例如,Enumeration定义了一个名为nextElement的方法,可以用来从含有多个元素的数据结构中得到的下一个元素。Enumeration接口提供了一套标准的方法,由于Enumeration是一个接口,它的角色转载 2016-07-28 09:00:41 · 254 阅读 · 0 评论 -
Java transient关键字使用小记
1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属转载 2016-07-26 17:55:39 · 196 阅读 · 0 评论 -
序列化Serializable
Java 串行化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行化机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。序列化就是一种用来原创 2016-07-26 17:54:36 · 201 阅读 · 0 评论 -
JDK下各文件夹的作用
一:bin: JDK中所包含的开发工具的可执行文件,PATH环境变量应该包含一个指向此目录的项。书中是这样说的:一些命令行工具,包括Java编译器的启动命令。 二:lib: 开发工具使用的文件。里面有个tool.jar,它包括支持JDK的工具和实用程序的非核心类。里面还有个dt.jar,它是BeanInfo文件的DesignTime归档,BeanInfo文件用来告诉交互开发环境〔原创 2016-07-11 10:52:46 · 1732 阅读 · 0 评论