![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
calorie卡卡
这个作者很懒,什么都没留下…
展开
-
java基础01
1. Java基础语法1.1. 计算机理论基础编程:编写程序。其实就是操作计算机,让计算机帮我们实现我们想要的需求。计算机其实是一个非常单一的机器,计算机只认识两个数字: 0 和 1,并且只会做加法。1.2. 编程基础 ———— 进制分类、进制转换进制:进位制,指的是数字进位的制度。进制分类二进制:使用数字0和1来表示所有的自然数,逢2进1位。0, 1, 10, 11, 1...原创 2019-06-25 19:53:12 · 284 阅读 · 2 评论 -
Java NIO与IO
在研究Java NIO和IO API时,很快就会出现一个问题:我什么时候应该使用IO,什么时候应该使用NIO?在本文中,我将尝试阐明Java NIO和IO之间的差异,它们的用例以及它们如何影响代码的设计。Java NIO和IO的主要区别下表总结了Java NIO和IO之间的主要区别。我将在表格后面的部分中详细介绍每个区别。IONIO流导向缓冲导向阻止IO非阻...翻译 2019-07-04 14:45:49 · 399 阅读 · 2 评论 -
java数组(1)
数组数组,是一个用来存储相兼容数据类型的容器。容量:在数组中,表示能够存储多少个数据。在数组中“容量”被称为 – 长度。特点:1、数组中只能存储相兼容的数据类型。2、数组的长度是不可变的,一旦实例化完成,长度不能修改!元素:在数组中存储的每一个数据,被称作是数组的元素4.1. 数组的定义对数组进行定义,并进行初始化的赋值操作,这个过程称作数组的 实例化数组实例化的过程,需要关键...原创 2019-06-28 23:31:13 · 420 阅读 · 0 评论 -
深入理解集合(1)
在学习集合之前首先要思考一个问题,为什么要有集合? 为了方便对多个对象进行操作,我们就必须对这多个对象进行存储,而要想对多个对象进行存储就不能是一个基本的变量,而应该是一个容器类型的变量,到目前为止,我们学习过了哪些容器类型的数据呢?StringBuilder,数组,StringBuilder的结果只能是一个字符串类型,不一定满足我们的需求,所以我们目前只能选择数组了,也是就我们前面学...原创 2019-06-29 16:36:47 · 533 阅读 · 0 评论 -
Java算法和数据结构面试问题
1.数组面试问题数组是最基本的数据结构,它将元素存储在连续的内存位置。这也是采访者的一个主要话题,你会在任何编码访谈中听到很多关于数组的问题,例如反转数组,排序数组或搜索数组中的元素。如何在给定的1到100的整数数组中找到缺失的数字?如何在给定的整数数组上找到重复的数字?如何在未排序的整数数组中找到最大和最小的数字?你如何找到所有对的整数数组,其总和等于给定的数字?如果数组包含多个重...原创 2019-07-05 09:51:35 · 3755 阅读 · 3 评论 -
java中comparable与comparator用处
Java比较器内部比较器: 实现comparable接口, 需要重写comparato方法ps:写在创建类的内部,例如写个persion类,比较年龄! 让类实现该接口,去重写compareto方法即可public class perison implements Comparable<Book> { // 实现比较 private String name; p...原创 2019-07-16 10:56:37 · 402 阅读 · 0 评论 -
lambda函数式编程总结
lambda函数式编程总结lambda是java8版本的新特性,其主要针对于函数式接口(就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口)函数式语言提供了一种强大的功能——闭包(函数中,能访问函数外的变量,并且函数外的变量值改变后,会影响函数内的计算)相比于传统的编程方法有很多优势,闭包是一个可调用的对象,它记录了一些信息,这些信息来自于创建它的作用域。Java 现在提供的最接近...原创 2019-07-18 17:08:17 · 383 阅读 · 2 评论 -
TreeSet自定义排重
TreeSet集合通常是用来对某个对象进行自定义规则排序,下面我们举个例子说明一下:public static void main(String[] args) { TreeSet<persion> a = new TreeSet<>(); Collections.addAll(a, new persion("小明", 17), new persion("小王",...原创 2019-07-18 18:05:42 · 444 阅读 · 1 评论 -
java中枚举enum常见用法
Java枚举总结:作用:在需要写入多个常量的时候,使用枚举更加的方便,而且安全性更高class text { public static final "星期一" public static final "星期二" public static final "星期三" public static final "...原创 2019-07-16 19:47:15 · 412 阅读 · 0 评论 -
正则表达式
正则表达式:正则是为了处理负责的文本,是一种强大灵活的文本工具,它可以通过自定义规则去匹配字符串,来进行一些数据的简单筛选.语法:例如:\d是匹配一个数字 \D就是匹配非数字–正则表达式的特殊符号如果被包含到中括号里,则会失去特殊意义,除了^ -之外–标准字符集合,除小数点外,如果被包含于中括号,自定义字符集合将包含该集合例如123456 --> \d{6}...原创 2019-07-23 21:56:34 · 140 阅读 · 1 评论 -
解开java中的锁
尊重原作者本文出处:https://tech.meituan.com/(有好多知识分享)前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分...翻译 2019-07-09 14:07:12 · 267 阅读 · 0 评论 -
面向对象(oop)结束篇(1)
继承1. 继承的基础语法在程序设计中,如果有多个具有逻辑关联的类,具有相同的特性和行为(属性和方法)。那么我们可以将这些相同的部分提取出来,做成另外的一个类。被提取出来的类,称作是 – 父类,基类,超类那些被提取共同点,具有逻辑关联的类,被称作 – 子类,派生类他们之间的关系,叫做 – 继承// Dog类继承自Animal类// Animal是父类// Dog是子类class D...原创 2019-07-03 19:52:35 · 101 阅读 · 1 评论 -
深入理解集合(2)
Set集合Set是Collection集合的子接口,Set集合中存储元素是无序.排除重复.Set集合主要使用的是Hash算法HashSet集合–>子类LinkedHashSet集合 TreeSet集合什么是Hash算法?Hash一般你会被翻译为"散列",也有直译"哈希"的,它是为了快速存取的角度而设计,这里的计算原则即"空间置换"–>空间换时间 Hash的组成 -->是一种...原创 2019-07-02 10:02:14 · 276 阅读 · 0 评论 -
算法-稀疏数组
当一个数组的元素包含大量的0时,或者为同一个值的数组时,可以使用稀疏数组来保存数组.稀疏数组的处理方法:1,记录数组一共有几行几列,有多少个不同的值2,把具有不同值的元素的行列及值记录在一个小规模的数组(稀疏数组)中,从而缩小程序的规实例讲解:图片中的二维数组转换成稀疏数组二维数组转稀疏数组 publicstaticvoidmain(String[]args) { ...原创 2019-07-02 10:29:50 · 536 阅读 · 0 评论 -
冒泡排序
冒泡排序:对未排序的数组中的元素从头到尾依次比较相邻的两个元素,若第前一个元素大于后面一个元素那么就交换两个元素的位置,经过一轮的比较,那么最大的那个元素,会存到数组的最后一位,每比较一次就会有一个正确的数字放到正确的位置例如: 6,4,9,1,3 --> 升序4,6,1,3,9 -->一轮排序4,1,3,6,9 -->二轮排序1,3,4,6,9 --> 三轮排...原创 2019-07-02 21:18:59 · 279 阅读 · 1 评论 -
选择排序
选择排序:固定一个元素的值,然后依次和后面每一个元素进行比较,若当前固定元素的值大于后面比较元素的值就进行交换,直到所有元素都比较完成之后,固定的第一个元素会得到所有元素最小的,在固定面一个值依次比较直到所有元素比较完成结束例如: 6,4,9,1,3 --> 升序1,6,9,4,3 --> 一轮排序1,3,9,6,4 --> 二轮排序1,3,4,9,6 -->三...原创 2019-07-02 21:21:40 · 589 阅读 · 0 评论 -
面向对象(oop)基础篇
面向对象基础1. 面向对象基础概念面向过程是一种看待问题、解决问题的思维方式。着眼点在于问题是如何一步步的解决的,然后亲力亲为的去解决这个问题面向对象是一种看待问题、解决问题的思维方式。着眼点在于找到一个能够帮助解决问题的实体,然后委托这个实体去解决问题把大象装冰箱:面向过程:1、打开冰箱门 --> 我2、把大象装进去 --> 我3、关上冰箱门 --> ...原创 2019-07-02 21:23:22 · 353 阅读 · 0 评论 -
面向对象(oop)进阶篇
面向对象进阶1. 包package: 组织文件的作用。将程序中在逻辑上具有关联关系的文件组织在一起。在一个类中,使用另外一个包中的类:1、使用类的全限定名全限定名:从最层的包开始,一层层的向我们想要使用的文件进行定位。例如 com.qianfeng.aexercise.two.Person2、使用关键字 import,导入想要使用的资源文件import java.util.Arra...原创 2019-07-02 21:25:57 · 348 阅读 · 0 评论 -
11个简单的Java性能调优技巧
作为开发人员我们都希望编写的程序拥有最佳的性能,但是这需要大量的经验和知识。优化应用程序以获得最佳性能并非易事。有几个易于遵循的建议和最佳实践可帮助创建性能良好的应用程序。1.在知道必须优化之前不要进行优化这可能是最重要的性能调优技巧之一。你应该遵循常见的最佳实践并尝试有效地实现你的用例。但这并不意味着你应该在证明必要之前替换任何标准库或构建复杂的优化。在大多数情况下,过早优化会占用大量时间...翻译 2019-07-08 19:20:47 · 117 阅读 · 0 评论 -
java基础03
方法什么是方法?方法,其实就是对一部分代码的包装。我们可以把一部分具有特殊功能的代码包装起来,做成一个方法。什么时候再需要使用到这个功能的时候,直接使用这个方法即可。3.1. 方法的定义语法[访问权限修饰符] [其他的方法修饰符] 返回值类型 方法名([参数列表]) { // 方法体}1、语法部分用中括号括起来的,表示可以写,也可以不写。2、在Java中,方法与方法之间是平级的...原创 2019-06-27 16:57:07 · 75 阅读 · 1 评论 -
从宏观角度了解JVM
Java开发人员都知道字节码将由JRE(Java运行时环境)执行。但许多人不知道JRE是Java虚拟机(JVM)的实现,它分析字节码,解释代码并执行它。作为开发人员,了解JVM的体系结构非常重要,因为它使我们能够更有效地编写代码。在本文中,我们将更深入地了解Java中的JVM体系结构以及JVM的不同组件。什么是JVM?一个虚拟机是一个软件实现物理机。Java是在WORA(随时随地运行)的概念...原创 2019-07-03 19:41:37 · 397 阅读 · 1 评论 -
深入理解java匿名内部类(详细)
匿名内部类匿名内部类是没有名字的类,它主要是为了重写抽象类和接口中的抽象方法(全部)下面通过代码演示可以清晰的感受到匿名内部类的用法及优点1.省略继承的过程public class NoName { public static void main(String[] args) { persion p1 = new xiaoming(); persion p1 = ne...原创 2019-07-17 21:53:45 · 850 阅读 · 1 评论