
基础知识
argleary
这个作者很懒,什么都没留下…
展开
-
面向对象
1、类与对象面向对象的思想是通过面向过程的思想演变而来的,面向对象实际上是对面向过程进行功能分化和责任转移而来的。功能分化是指将工作逻辑分化,可以理解为各做各的事;责任转移是指将完成工作的责任分化,程序员不关心代码工作过程,只关心结果,具体的工作过程是如何执行的应该由对象自己来负责;责任转移可类比为:我想吃个煎饼,不需要我自己和面、摊煎饼,我只要和卖煎饼的大妈说:“我要一个煎饼。”,卖煎饼...原创 2020-02-14 22:28:29 · 254 阅读 · 0 评论 -
MySQL各版本对比
1、MySQL各版本对比截止到2020年2月5日,MySQL更新到了 MySQL 8.0.19 MySQL各版本对比 MySQL Percona MySQL Maria DB 服务器特性 开源 开源 ...原创 2020-02-05 22:44:11 · 1820 阅读 · 0 评论 -
MySQL用户管理
1、如何定义MySQL数据库账号?MySQL用户名由两部分组成,中间由 @ 符号隔开: 用户名 @ 可访问控制列表 MySQL 5.7 用户名长度只有16个字节;MySQL 8.0 用户名长度为32个字节;可访问控制列表表示“用户可以从哪些服务器上对数据库进行访问”,书写格式如下:%:代表可以从所有外部主机进行访问(默认值)192.168.1.%:可以从 192.168.1 网段进行...原创 2020-02-05 22:43:29 · 253 阅读 · 0 评论 -
MySQL常用的存储引擎
1、MySQL中常用的存储引擎引擎名称是否支持事务说明MyISAMNMySQL 5.6 之前的默认引擎,最常用的非事务引擎;CSVN以CSV格式存储数据,非事务型引擎;ArchiveN只允许查询和新增数据而不允许修改数据;MemoryN将数据存储在内存中,不支持事务;InnoDBYMySQL 5.6 之后的默认引擎,最常用的事务型...原创 2020-02-05 22:42:39 · 137 阅读 · 0 评论 -
Java中的Volatile和Synchronized有何不同?
为充分理解Java中多线程同步的实现原理,必须先理解JMM。一、Java内存模型Java Memory Model 是为了处理并发过程中的可见性、原子性、有序性问题的。在Java虚拟机中,堆是一个线程共享的内存区域。堆中主要存放对象的实例、静态对象、数组等。堆中存放着一些共享变量。每条线程都会有一个属于自己的本地内存,本地内存不允许其他线程访问。本地内存中存储的是共享变量的副本。线程A若...原创 2020-02-01 14:44:39 · 161 阅读 · 0 评论 -
Java8-Lambda表达式与函数式接口
Lambda表达式Lambda表达式(也叫做闭包)是Java 8中最大的也是期待已久的变化。它允许我们将一个函数当作方法的参数(传递函数),或者说把代码当作数据,这是每个函数式编程者熟悉的概念。很多基于JVM平台的语言一开始就支持Lambda表达式,但是Java程序员没有选择,只能使用匿名内部类来替代Lambda表达式。Lambda表达式的设计被讨论了很久,而且花费了很多的功夫来交流。不过最后...原创 2019-11-08 14:49:49 · 273 阅读 · 0 评论 -
ClassLoader类加载器
一、ClassLoader 定义ClassLoader的作用就是根据一个指定的类的全限定名,找到对应的Class字节码文件,然后加载它转化成一个java.lang.Class类的一个实例。所有Class都是由classloader进行加载的,ClassLoader负责通过将Class文件里的二进制数据流装载进系统,然后交给java虚拟机进行连接、初始化等操作。JVM 运行实例中会存在多个 C...原创 2019-10-28 20:39:55 · 169 阅读 · 0 评论 -
Java高级特性——反射
一、定义JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。二、与反射相关的几个类Field类:提供有关类或接口的属性的信息,以及对它的动态访问权限。反射的字段可能是一个类(静态)属性或实例属性,简单的理解可以把它看成一个封装反射类的属性的类...原创 2019-10-27 21:22:12 · 620 阅读 · 0 评论 -
ArrayList 源码详解 jdk10
一、ArrayList 介绍1.1、概述ArrayList 是一种变长集合,基于定长数组实现。ArrayList 允许所有元素,包括null和重复元素。ArrayList 类还提供了一些方法来操作数组的大小,每个ArrayList实例都有一个容量值。当往 ArrayList 中添加的元素数量大于其底层数组容量时,其会通过扩容机制对数组进行扩容。ArrayList中size、isEmpt...原创 2019-10-24 21:27:34 · 201 阅读 · 0 评论 -
hash % n 为什么等于 (n - 1) & hash
HashMap 的长度为什么是2的幂次方?为了能让 HashMap 存取高效,尽量较少碰撞,也就是要尽量把数据分配均匀。我们上面也讲到了过了,Hash 值的范围值-2147483648到2147483647,前后加起来大概40亿的映射空间,只要哈希函数映射得比较均匀松散,一般应用是很难出现碰撞的。但问题是一个40亿长度的数组,内存是放不下的。所以这个散列值是不能直接拿来用的。用之前还要先做对数组...原创 2019-09-17 21:18:20 · 10955 阅读 · 9 评论 -
==与 .equals()的区别
== 比的是地址.equals() 比的是内容原创 2019-04-10 09:28:21 · 190 阅读 · 0 评论 -
&与&&的区别
区别:&和&&都可以用作逻辑与的运算符,&表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equa...原创 2019-04-10 09:25:15 · 437 阅读 · 0 评论