Java
文章平均质量分 73
饥渴的小苹果
很天然牛奶糖然后天然 很天然天然图画
展开
-
【Java】TreeSet用法以及实现
ff原创 2021-03-08 20:54:15 · 145 阅读 · 0 评论 -
《Java核心技术》第14章 并发
第14章 并发一个程序同时执行多个任务。通常,每一个任务称为一个线程(thread),它是线程控制的简称。可以同时运行一个以上线程的程序称为多线程程序(multithreaded)。那么,多进程与多线程有哪些区别呢?本质的区别在于每个进程拥有自己的一整套变量,而线程则共享数据。共享变量使线程之间的通信比进程之间的通信更有效、更容易。此外,在有些操作系统中,与进程相比较,线程更“轻量级”,创建、撤销一个线程比启动新进程的开销要小得多。14.1 什么是线程调用Thread.sleep不会创建一个新线程原创 2021-01-11 20:32:51 · 67 阅读 · 0 评论 -
《Java核心技术》第九章 集合 学习笔记
第九章 集合9.1 Java集合框架9.1.1 将集合的接口与实现分离与现代的数据结构类库的常见情况一样,Java集合类库也将接口(interface)与实现(implementation)分离。首先,看一下人们熟悉的数据结构——队列(queue)是如何分离的。队列接口指出可以在队列的尾部添加元素,在队列的头部删除元素,并且可以查找队列中元素的个数。当需要收集对象,并按照“先进先出”的规则检索对象时就应该使用队列。队列接口的最简形式可能类似下面这样:public interface Queue原创 2021-01-11 20:26:11 · 216 阅读 · 0 评论 -
《Java核心技术》第八章 泛型程序设计 学习笔记
第八章 泛型程序设计从Java程序设计语言1.0版发布以来,变化最大的部分就是泛型。泛型正是我们需要的程序设计手段。使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性。泛型对于集合类尤其有用。8.1 为什么要使用泛型程序设计泛型程序设计(Generic programming)意味着编写的代码可以被很多不同类型的对象所重用。8.1.1 类型参数的好处泛型提供了一个更好的解决方案:类型参数(typeparameters)。ArrayL原创 2021-01-11 15:33:57 · 129 阅读 · 0 评论 -
《Java核心技术》第七章 异常、断言和日志 学习笔记
第7章 异常、断言和日志对于异常情况,例如,可能造成程序崩溃的错误输入,Java使用一种称为异常处理(exception handing)的错误捕获机制处理。在测试期间,需要进行大量的检测以验证程序操作的正确性。然而,这些检测可能非常耗时,在测试完成后也不必保留它们,因此,可以将这些检测删掉,并在其他测试需要时将它们粘贴回来,这是一件很乏味的事情。当程序出现错误时,并不总是能够与用户或终端进行沟通。此时,可能希望记录下出现的问题,以备日后进行分析。7.1 处理错误如果由于出现错误而使得某些操作没有原创 2021-01-11 10:07:04 · 150 阅读 · 1 评论 -
《Java核心技术》第六章 接口、lambda表达式与内部类 学习笔记
第6章 接口、lambda表达式与内部类接口(interface)技术,这种技术主要用来描述类具有什么功能,而并不给出每个功能的具体实现。一个类可以实现(implement)一个或多个接口,并在需要接口的地方,随时使用实现了相应接口的对象。了解接口以后,再继续介绍lambda表达式,这是一种表示可以在将来某个时间点执行的代码块的简洁方法。使用lambda表达式,可以用一种精巧而简洁的方式表示使用回调或变量行为的代码。接下来,讨论内部类(inner class)机制。理论上讲,内部类有些复杂,内部类定义原创 2021-01-08 19:39:26 · 281 阅读 · 0 评论 -
《Java核心技术》第五章 继承 学习笔记
第5章 继承本章将学习面向对象程序设计的另外一个基本概念:继承(inheritance)。利用继承,人们可以基于已存在的类构造一个新类。继承已存在的类就是复用(继承)这些类的方法和域。在此基础上,还可以添加一些新的方法和域,以满足新的需求。这是Java程序设计中的一项核心技术。另外,本章还阐述了反射(reflection)的概念。反射是指在程序运行期间发现更多的类及其属性的能力。这是一个功能强大的特性,使用起来也比较复杂。5.1 类、超类和子类5.1.1 定义子类下面是由继承Employee类来原创 2021-01-05 14:52:40 · 198 阅读 · 0 评论 -
《Java核心技术》第四章 对象与类 学习笔记
第四章 对象4.1 面向对象程序设计概述原创 2021-01-04 15:13:31 · 144 阅读 · 0 评论 -
《Java核心技术》第三章 Java基本程序设计结构 学习笔记
第三章 Java的基本程序设计结构3.1 一个简单的Java应用程序Main.javapublic class Main { public static void main(String[] args) { System.out.println("hello world!"); }}public称为访问修饰符,用于控制程序的其他部分对这段代码的访问级别关键字class表明Java程序中的全部内容都包含在类中。这里,只需要将类作为一个加载程序逻辑的容器,程序逻辑原创 2020-12-25 17:51:36 · 157 阅读 · 0 评论 -
《Java核心技术》第一章 Java程序设计概述 学习笔记
第一章 Java程序设计概述1.1 Java程序设计平台Java是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。1.2 Java白皮书的关键术语1.2.1 简单性Java语法是C++语法的一个“纯净”版本。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等。简单的另一个方面是小。Java的目标之一是支持开发能够在小型机器上独立运行的软件。1.2.2 面向对象简单地讲,面向对象设计原创 2020-12-25 10:27:25 · 398 阅读 · 1 评论 -
访问者模式
访问者模式介绍访问者访问的是一群对象。访问者模式是一种将数据操作和数据结构分离的设计模式。雇员管理系统遇到的问题一个员工管理系统,需要添加一个新的操作功能,计算对年假时间的补偿金额,需要根据级别和剩余年假来算。传统设计Employee.javapublic class Employee { private String name; private float inc...原创 2019-11-21 16:40:51 · 187 阅读 · 0 评论 -
Java HashMap 新增方法(merge,compute)
todo原创 2019-11-21 12:03:38 · 677 阅读 · 1 评论 -
【Java面试课程】并发
pass原创 2019-03-14 10:50:07 · 144 阅读 · 0 评论 -
【小方重新学Java】Java字符串
String类声明字符串String str;创建字符串String(char a[])char a[] = {'g','o','o','d'};String str = new String(a);String(char a[],int offset, int length)char a[] = {'g','o','o','d','b','o','y'};Strin...原创 2019-05-05 16:24:19 · 138 阅读 · 0 评论 -
Quartz学习
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目。Quartz是什么Quartz是一个开源的作业调度框架,可以让计划的程序任务一个预定义的日期和时间运行。Quartz可以用来创建简单或复杂的日程安排执行几十,几百,甚至是十万的作业数。Quartz 是一种功能丰富的,开放源码的作业调度库,可以在几乎任何Java应用程序集成 - 从最小的独立的应用...原创 2019-05-06 14:04:12 · 309 阅读 · 0 评论 -
【小方重新学Java】Java数组
数组是具有相同数据类型的一组数据的集合。在Java中将数组看做是一个对象。一维数组的创建及使用创建一维数组数组作为对象允许使用new关键字进行内存分配。在使用数组之前,必须首先定义数组变量所属的类型。一维数组的创建有下列两种形式。1. 先声明,再用new运算符进行内存分配int arr[]; //声明int型数组,数组中的每个变量都是int型数据arr = new in...原创 2019-05-06 22:18:42 · 108 阅读 · 0 评论 -
浮点数
文章目录一、面向对象及Java开发基础java面向对象的特征JDK和JREJVMJDK和JRE二、Java基础程序设计结构java中int数据占几个字节有了基本的数据类型,为什么还需要包装类型?string类为什么是final的**一、理解final**String和StringBuiider的区别三、对象与类成员变量与局部变量的区别有那些四、继承五、接口、lambda表达式与内部类六、异常七、高...原创 2019-05-16 11:26:12 · 1016 阅读 · 0 评论 -
【小方重新学Java】Java流程控制
复合语句Java中的复合语句是以整个块区作为单位的语句,又称为块语句。以{开始,以}结束。复合语句中的每个语句从上到下执行。块中还可以嵌套。复合语句为局部变量创建了一个作用域,如果超出变量的作用域使用该变量会发生错误 int x = -2; { int y = 45; boolean b =false; ...原创 2019-05-02 16:10:48 · 135 阅读 · 0 评论 -
【小方重新学Java】Java语言基础
Java主类结构Java是面向对象的语言。Java程序的基本组成单元是类。类中包含属性和方法。每一个应用程序都必须包含一个main()方法。含有main方法的类称为主类。public class Main { static String s1 = "你好"; public static void main(String[] args){ String s2 = ...原创 2019-04-27 00:53:42 · 150 阅读 · 0 评论 -
【Java面试课程】JVM
1.谈谈JVM内存区域的划分,哪些区域可能发生OutOfMemoryError?典型回答通常可以把内存分为下面几个区域。其中有的区域是以线程为单位的,而有的区域是整个JVM进程唯一的。首先,程序计数器。在JVM规范中,每个线程都有它自己的程序计数器,并且任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会指定当前线程正在执行的Java方法的JVM指令地址。或者如果是执行...原创 2019-03-14 22:17:33 · 207 阅读 · 0 评论 -
【Java面试课程】框架
1.什么是框架框架是一个框子,具有约束性。是一个架子,具有一定的支撑性IT中的框架是指为解决一个开放性问题而设计的具有一定约束性的支撑结构在此结构上可以根据具体问题扩展安插更多的组成部分。从而更迅速的构建完整的解决方案框架本身不解决特定问题,可以在框架基础上扩展框架天生就是为了扩展可以为后续扩展的组件提供很多辅助性、支撑性的使用工具2. 简要介绍MVC模式MVC是Model v...原创 2019-03-14 10:28:54 · 343 阅读 · 0 评论 -
【Java面试课程】数据库
1.数据库的分类和常用的数据库数据库的分类:关系型数据库非关系型数据库常用的关系型数据库:MySQLOracle常用的非关系型数据库:redismongodbhadoop2.简要介绍一下关系数据库三范式什么是范式简单理解就是规范,就是关系型数据库在设计表的时候要遵循的规范要满足第二范式必须先满足第一范式,要满足第三范式必须先满足第二范式第一范式指 数据库中...原创 2019-03-14 01:12:48 · 737 阅读 · 0 评论 -
【Java面试课程】Java Web基础
1.讲一下http get 和post的区别get 和post都是http的请求方式,用户通过不同的http请求方式完成对资源(url)的操作。get 和post对应于对这个资源的查改删增4个操作具体来说get用于获取/查询资源信息,post用于更新信息http定义了与服务器交互的不同方法。最基本的是GET、POST、PUT、DELETE区别:1. Get请求提交的数据会在地址栏显示...原创 2019-03-13 23:27:00 · 186 阅读 · 0 评论 -
【Java面试课程】Java基础
一、面试整体流程1.1 自我介绍1.2 简要介绍一下你的项目为了解决XXX问题,开发了一套XXX流程。有哪些部分组成,参与某个模块的开发。1.3 java基础1.4 有什么要问我的,公司的项目,项目中会使用什么技术?你说一下你最擅长的什么? 你简单说一下 选择你最熟悉的1.简单讲一下java的跨平台原理对于不同的系统安装不同的虚拟机,程序只需要遵循java规范,就可以在多处执行...原创 2019-03-13 21:17:20 · 435 阅读 · 0 评论 -
【Java】HashMap无死角复习
每次面试都问到HashMap,回答的都不是很好,今天给它一次性的解决了HashMap的底层实现JDK1.8之前HashMap 底层是 数组和链表 结合在一起使用也就是 链表散列。HashMap 通过 key 的 hashCode 经过扰动函数处理过后得到 hash 值,然后通过 (n - 1) & hash 判断当前元素存放的位置(这里的 n 指的是数组的长度),如果当前位置存在元素...原创 2019-03-21 17:57:37 · 128 阅读 · 0 评论 -
再也不用怕HashMap
文章目录参考链接引入HashMap初认识putget深入问题HashMap初始长度是16高并发下的HashMap死锁总结HashMap 1.7 与1.8的区别遍历方式HashMap是最高频的考点了,必须深入复习。参考链接漫画:什么是HashMap?漫画:高并发下的HashMapHashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!引入HashMap...转载 2019-03-21 23:27:56 · 301 阅读 · 0 评论 -
【小方重新学Java】初识Java
Java是一种高级的跨平台的、面向对象的程序设计语言。Java简介Java是一种通过解释方式来执行的语言,语法规则与C++类似。同时也是一种跨平台的设计原因。可以运行在任何平台和设备上,“一次编写,多次运行”。与C++相比,Java原因简介得多,而且提高了可靠性。较大的安全性。Java语言编写的程序既是编译性的,又是解释型的。程序代码经过编译之后转换为一种称为Java字节码的中间语言,Ja...原创 2019-04-27 00:09:22 · 212 阅读 · 0 评论 -
springboot启动原理
我们开发任何一个Spring Boot项目,都会用到如下的启动类@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}从上面代码可以...转载 2019-04-15 02:22:43 · 126 阅读 · 0 评论 -
spring IOC和AOP的底层实现
spring IOC和AOP的底层实现https://juejin.im/post/5bf51d4c5188256d9832b0d3IOC2、spring核心主要两部分:(1)aop:面向切面编程:扩展功能不是修改源代码实现(2)Ioc:控制反转,比如有一个类,在类里面有方法(不是静态的方法,创建类的对象,使用对象调用方法,创建类对象的过程,需要new出来对象。现在对象的创建不是通过n...原创 2019-03-26 20:07:10 · 3637 阅读 · 0 评论 -
面试新题目
Spring,Spring Boot,Spring Cloud有什么区别Java单例模式有哪些,手写线程安全的单例模式最左前缀原则解释归并排序原理(手写),是不是稳定的Spring注解有哪些是否了解微服务Hash算法的原理、hash冲突、怎么从原理上优化Hash算法,将Hash冲突降到最低,Java里面的hash值都怎么计算的HashMap的底层实现用到了哪些结构,红黑树的引入除了...原创 2019-03-18 23:01:36 · 163 阅读 · 0 评论 -
Java内存详细解读
pass原创 2019-03-22 12:15:34 · 160 阅读 · 0 评论 -
设计模式简介
设计模式介绍设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化...原创 2019-03-13 18:38:06 · 92 阅读 · 0 评论 -
Java 垃圾回收机制
什么是垃圾回收机制自动垃圾回收是一种在堆内存中找出哪些对象在被使用,还有哪些对象没被使用,并且将后者删掉的机制。所谓使用中的对象(已引用对象),指的是程序中有指针指向的对象;而未使用中的对象(未引用对象),则没有被任何指针给指向,因此占用的内存也可以被回收掉。在用 C 之类的编程语言时,程序员需要自己手动分配和释放内存。而 Java 不一样,它有垃圾回收器,释放内存由回收器负责。本文接下来将...原创 2019-03-13 18:12:40 · 153 阅读 · 0 评论 -
Java面试常用题
Java基础面向对象的三个特征封装,继承,多态,这个应该是人人皆知,有时候也会加上抽象。多态的好处允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)。主要有以下优点:可替换性:多态对已存在代码具有可替换性可扩充性:增加新的子类不影响已经存在的类结构接口性:多态是超类通过方法签名,向子类提供一个公共接口,由子类来完善或者...原创 2019-03-13 17:59:47 · 153 阅读 · 0 评论 -
Java学习路径
1.基础知识首推《Java核心技术》,体系完整,实例多,可操作性强。主要前6章,也就250页,一个月搞定。建议:调通代码 课后作业 写笔记 分门别类保存demo代码2.SpringJava EE中,Spring和核心库同等重要。最核心概念IOC和AOP。掌握这两个概念,再把Spring MVC学会。推荐用书《Spring实战》。还有一本《Spring源码深度解析》,对Spring的...原创 2019-01-08 12:42:22 · 145 阅读 · 0 评论