![](https://img-blog.csdnimg.cn/20200902171531777.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础系列
Java基础知识系列,Java是Android开发的基石
___小刚
立第一等志,下第一等功,做第一等人。
展开
-
故园无此声:Java集合框架简述
前言:早在Java2之前,Java就提供了特设类,比如:Dictionary,Vector,Stack和Properties这些类用来存储和操作对象组。虽然这些类都非常有用,,但是他们缺少一个核心的统一的主题。由于这个原因,使用Vector类的方式和使用Properties类的方式有着很大不同。集合简介:集合框架被设计成满足以下几个目标:该框架必须是高性能的,基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。对一个集合原创 2020-09-27 11:13:13 · 154 阅读 · 0 评论 -
美人背看内园中:Java内部类
前言内部类平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下。从开发的角度来讲,内部类能少用就少用,优先考虑普通类。内部类的基本概念在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类形式如下:package.com.las;class Outer{ private String msg="Hello World"; class Inner{ public void print(){原创 2020-09-25 13:06:43 · 224 阅读 · 0 评论 -
单衫杏子红,双鬓鸦雏色:【单例模式】饿汉VS懒汉
实例:class Singleton{ public void print(){ System.out.println("Hello World!"); }}public class Test{ public static vid main(String[] args){ Singleton inst=null;//声明对象 inst=new Singleton();//实例化对象原创 2020-09-25 11:05:14 · 140 阅读 · 0 评论 -
Java基础篇:多线程编程
前言Java给多线程编程提供了内置的支持,一条线程指的是进程中一个单一顺序的控制流,一个进程可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。这里定义和线程相关的另一个术语——进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程,一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。多线程能满足程序员编写高效率的程序来达到充分利用CPU的目的。一个线程的生命周期线程是一个动态原创 2020-09-24 17:15:46 · 96 阅读 · 0 评论 -
java.lang.String用法简述
一、得到字符串对象的有关信息(1)通过调用length()方法得到String的长度,例如:String str="This is a String";int len=str.length();(2)StringBuffer类的capacity()方法与String类的length()的方法类似,但是它测试是分配给StringBuffer的内存空间的大小,而不是当前被使用的内存空间。(3)如果想确定字符串中指定的字符或者字符串在给定字符串的位置,可以用indexOf()和lastIndexOf(原创 2020-09-24 13:31:53 · 544 阅读 · 0 评论 -
Java中final的用法简述
一、final变量一旦声明的final变量被赋值后,就不能改变该变量的值。一个既是static又是final的字段只占据一段不能改变的存储空间。二、final方法final定义的方法不能重写,一个定义为private的方法隐式的被指定为final类型。定义为final的方法可以使运行时的效率优化。三、final类定义为final的类不能被继承,不能再派生子类。将某个类定义为final形式,类中的所有方法都被隐式地设置为final形式,但类中的成员变量可以被定义为final或者final形式。.原创 2020-09-24 10:19:20 · 392 阅读 · 0 评论 -
一万小时学编程:Java线程池原理
一万小时学编程系列《一万小时定律》格拉德威尔:“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成世界级大师的必要条件。”文章目录一万小时学编程系列前言一、并发队列1.概念2.分类二、线程池简介三、线程池原理1.ThreadPoolExecutor核心类2.线程池原理图3.线程池实例总结前言线程池是学习Java的重点也是难点,在面试中也会经常问到,尤其是对“高并发”有较高要求的企业,所以学好线程池原理很重要,本文是我参考大佬的博客写的,后原创 2020-09-18 16:21:53 · 124 阅读 · 0 评论 -
Java泛型以及自定义泛型
之前有一篇文章讲过泛型了,今天再来复习一下。一、什么是泛型和泛型的作用JDK5以前,对象保存到集合中就会失去其特性,取出时通常要程序员手工进行类型的强制转换,这样会不可避免的引发程序一些安全性问题。例如:ArrayList list=new ArrayList();list.add("abc");Integer num=(Integer) list.get(0);//运行时才会报错,编译时发现不了再例如:在遍历集合的时候,无法遍历,因为放入集合中的数据类型是不确定的List list=new原创 2020-09-18 10:02:30 · 289 阅读 · 0 评论 -
一万小时学编程:Static用法理解加例子
一万小时学编程系列Static用法详解文章目录一万小时学编程系列前言一、怎么理解static(静态)?1.举例理解静态2.什么时候使用静态3.静态的特性二、静态的使用1.static定义属性2.static定义方法3.Java主方法总结前言Java关键字static用途非常广泛,但很多人并没有深入理解它的内涵,今天我们通过这篇文,用大白话加实例来带大家深入了解一下static。一、怎么理解static(静态)?1.举例理解静态如何理解Java中的静态变量?静态方法呢?首先我们捋一下Jav原创 2020-09-17 11:29:10 · 236 阅读 · 0 评论 -
Java泛型详解,适合初学者
Java 泛型详解一、泛型的引出二、泛型的定义和使用三、泛型通配符四、泛型接口五、泛型方法六、泛型小结一、泛型的引出假设要求定义一个表示坐标的操作类(Point),这个类可以表示三种类型的坐标:(1)整数坐标:x=10、y=20;(2)小数坐标:x=10.1、y=20.3;(3)字符串坐标:x=“东晋100度”、y=“北纬20度”;分析:类中想保存以上数据,一定需要定义x和y两个属性,而这两个属性可以接受三种数据类型,这样的话,只能使用Object类来定义会比较合适,这样会发生如下几种转换关系原创 2020-09-15 10:48:05 · 161 阅读 · 0 评论 -
一万小时学编程:Java异常的捕获与处理
Java异常的捕获与处理一、异常的产生异常是程序之中导致程序中断的一种指令流,异常一旦出现并且没有进行合理处理的话,那么程序就将中断执行。下面,通过两个程序来进行异常产生问题的对比。(1)不产生异常的程序:public class Test{ public static void main(String[] args){ System.out.println("1,除法计算开始。"); int result=10/2;原创 2020-09-11 11:25:09 · 165 阅读 · 1 评论 -
深入浅出,理解Java接口
详解Java接口基本概念接口的使用基本概念接口(Interface),在Java编程语言中是一个抽象类型,是抽象方法的集合。接口通常以interface来声明,一个类通过继承接口的方式,从而来继承接口的抽象方法。如果一个类只由抽象方法和全局常量组成,那么这种情况下不会将其定义为一个抽象类。只会定义为一个接口,所以接口严格来讲属于一个特殊的类,而这个类里面只有抽象方法和全局常量,就连构造方法都没有。范例:定义一个接口interface A{ public static final St.原创 2020-09-03 14:25:24 · 293 阅读 · 2 评论 -
一起来理解一下Java类和对象
一、面向对象简述面向对象是一种现在最为流行的程序设计方法,几乎现在所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成了C++,而由C++产生了Java这门面向对象的编程语言。但是在面向对象设计之前,广泛采用的是面向过程,面向过程只是针对于自己来解决问题。面向过程的操作是以程序的基本功能实现为主,实现之后就完成了,也不考虑修改的可能性,面向对象,更多的是要进行子模块化的设计,每一个模块都需要单独存在,并原创 2020-09-01 17:33:49 · 188 阅读 · 1 评论 -
史上最全Java的读写操作(转载)
史上最全Java的读写操作(转载)Java的I/O系统中的输入输出流为我们进行开发提供了很多便利,利用其强大的封装性,通过各种组合能够实现多种多样的功能。但是Java提供了很多输入输出流类,在概念和使用上有很多相似之处,所以给很多开发者带来了困扰,何时应该用何种输入输出流类成为一个问题。以下即是Java输入输出流类的介绍,并附有实例说明,对各个类的用法都有简要分析。输入输出流类介绍1.stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的strea转载 2020-08-26 11:15:32 · 304 阅读 · 0 评论 -
Java循环语句中break和continue的区别
break和continue的区别break和continue的用法带标签的(break和continue)的区别break和continue的用法break指跳出当前循环,指的是整个循环体;continue指跳出本次循环,进入下次循环。public class BreakAndContinueTest{ public static void main(String[] args){ for(int i=1;i<=4;i++){原创 2020-08-26 09:13:14 · 673 阅读 · 0 评论 -
腾讯面试题:64匹马,8个赛道,找出跑的最快的四匹。
64匹马,8个赛道,找出跑的最快的四匹,最少需要几次比赛?第一步:第二步:第三步:第四步:补充:第一步:将64匹马分为八组,在八个赛道进行比赛,每组的后四名直接淘汰。(因为要找最快的四匹马,所以这些排在每组第四名后面的必然不能进总的前四,直接淘汰!)【8次比赛】第二步:将每组的第一名进行比赛,淘汰后四名组的所有组员。(将每组的第一名组成一个组比赛,后四名直接淘汰了,那么这后四名的组员成绩还没有它们第一名的好,肯定可以直接淘汰掉,所以此时还剩下图中黄色区域的16匹马)【1次比赛】第三步:假设刚原创 2020-08-25 10:23:17 · 1993 阅读 · 2 评论 -
什么是形参?实参?命令行参?可变参数?
什么是形参?实参?命令行参数?可变参数?今天读文章遇到的,有些概念不太清楚,Mark一下!形参形参是parameter,在定义方法时后面跟的参数就是形参,全称为“形式参数”。实参实参是argument,在调用方法时后面跟的参数就是实参,全称为“实际参数”。形参和实参的特点1:实参和形参可以重名。2:实参可以是常量、变量、表达式、方法。3:形参是一个局部变量,其初始值为相应实参的值。命令行参数命令行参数指命令行中给定的参数。可变参数Java可变参数是1.5版本的新特性,当定义的方法不原创 2020-08-24 08:39:04 · 2356 阅读 · 0 评论 -
小知识:Java中冒号(:)有哪些用法?
今天读博客时看到这样一段代码://遍历集合Set<String> keys = prop.stringPropertyNames();for (String key : keys) { //通过键 找值 //prop.get(key) String value = prop.getProperty(key); System.out.println(key+"==" +value);}这里的冒号是什么意思了?就百度了一下,原来是遍历集合的意思,Rando原创 2020-08-18 15:38:54 · 1441 阅读 · 0 评论 -
常用的DOS命令,JDK,JRE
Java基础知识复习原创 2020-08-18 10:21:13 · 263 阅读 · 1 评论