- 博客(30)
- 收藏
- 关注
原创 HashMap深度分析
Map的结构HashMap概述在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。jdk1.7中Has...
2019-05-02 15:40:00 48
转载 一千行MySQL学习笔记
原文地址: https://shockerli.net/post/1000-line-mysql-note/作者:格物文章目录[基本操作][数据库操作][表的操作][数据操作][字符集编码][数据类型(列类型)][列属性(列约束)][建表规范][SELECT][UNION][子查询][连接查询(join)][TRUNCATE][备份与还原][视图][事务(transaction)][锁表]...
2019-05-01 16:02:11 226
原创 LinkedList简要分析
LinkedList概述LinkedList 实现List接口,底层是双向链表,非线程安全。LinkedList还可以被当作堆栈、队列或双端队列进行操作。在JDK1.7/8 之后取消了循环,修改为双向链表。LinkedList 实现 List 接口,能对它进行队列操作。LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。LinkedList 实现了...
2019-04-29 23:15:57 352
原创 Java集合概述
从上图可以看出,Java集合主要分两大类:Collection和MapCollection1.ListList是有序的,它的实现类主要有以下3个:ArrayList底层基于动态数组,允许对元素进行快速随机访问,不适合插入和删除。Vector(线程安全)与ArrayList相似,也是通过数组实现的,二者的区别是Vector是线程安全的,即某一时刻只有一个线程能够写Vec...
2019-04-28 18:50:33 108
原创 ArrayList分析
ArrayList概述ArrayList继承了AbstractList,实现了List接口,底层基于动态数组,容量大小可以动态变化,ArrayList中可以添加null元素,另外,ArrayList是非线程安全的ArrayList实现List, RandomAccess, Cloneable, java.io.Serializable接口。实现RandomAccess接口,即标识着该类支...
2019-04-27 21:28:59 259
转载 Java8内存结构—永久代(PermGen)和元空间(Metaspace)
本文转载作者:liuxiaopeng博客地址:https://www.cnblogs.com/paddix/p/5309550.html一、JVM 内存结构根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部...
2019-04-26 21:26:39 173
转载 “三次握手,四次挥手”你真的懂吗?
#本文转载自:https://www.cnblogs.com/qcrao-2018/p/10182185.html文章目录什么是“3次握手,4次挥手”TCP服务模型TCP头部状态转换为什么要“三次握手,四次挥手”三次握手四次挥手“三次握手,四次挥手”怎么完成?三次握手四次挥手为什么建立连接是三次握手,而关闭连接却是四次挥手呢?“三次握手,四次挥手”进阶ISN序列号回绕syn flood攻击无...
2019-04-21 12:51:27 456
原创 Object中的方法以及对象相等的判定
看图说话Object有以下几个方法getClass()final类型,主要是用来获得运行时的类型hashCode()返回该对象的哈希码值,方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。该方法常用于hash查找,重写equals方法一般都要重写hashCode方法equals()equals方法一般和==是不一样的,但是在Obj...
2019-03-28 19:49:00 1317
原创 笔记
Java修饰符大小public>protected>default>privatefinal方法不等同于private方法虽然类中的private方法都隐式地指定为final,但是二者并不是等同的。private是访问权限修饰符,用于控制外界对类内部成员的访问,private方法只能在类的内部访问,而final方法可以在类外部访问final修饰类,表示类不可被继承...
2019-03-26 22:34:00 34
原创 设计模式简介
什么是设计模式设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。为什么要用设计模式使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。什么是GOF(四人帮,全拼 Gang of Four)在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides...
2019-03-25 23:07:02 98
原创 Mybatis中的@Param注解
前言今天在使用Mybatis时遇到一个问题,主要出错原因在于Mybatis的@Param注解,如果我不在参数前面加上**@Param**注解,数据库操作就会报错,如下:@Param作用@Param注解的作用是给参数命名,参数命名后就能够根据名字得到参数值,正确的将参数传到sql语句中@Param注解单一属性@Update({"update user set name=#{name}}"...
2019-03-24 22:06:11 359
原创 docker基本命令
加速器配置vim /etc/docker/daemon.json添加{ "registry-mirrors": [ "https://registry.docker-cn.com" ]}使用检查内核版本,必须是3.10及以上: uname -r安装docker: yum install docker启动docker: systemctl start...
2019-03-24 14:50:26 241
原创 JVM内存结构
JVM内存结构(针对jdk1.7)JVM的内存结构主要包括以下几个:方法区、堆、虚拟机栈、本地方法栈、程序计数器1.方法区(Method Area) 方法区和堆一样,是线程共享的的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。方法区在HotSpot中又被称为"永久代"。 根据Java虚拟机规范的规定,当方法区无法满足内存分配需求时,将抛出O...
2019-03-20 20:09:54 155
原创 自动拆装箱
前言我们知道Java共有8种基本数据类型int、byte、short、long、float、double、char、boolean,对应的包装类分别为Integer、Byte、Short、Long、Float、Double、Character、Boolean。既然有了基本数据类型,那么为什么还需要包装类呢。主要因为Java是一种面向对象的语言,很多地方需要使用对象而不是基本数据类型。比如在集合类...
2019-03-15 15:24:57 94
原创 01-两数之和
链接地址:两数之和描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, ...
2019-03-12 19:44:00 38
原创 Java的基本数据类型
Java共有8种基本数据类型(四个整数型、两个浮点型、一个字符型、一个布尔型)四个整型byte8位,取值范围:-128~127默认值为0,占用1个字节short16位,取值范围:- 215~(215 - 1)默认值为0,占用2个字节int32位,取值范围 : -231~(231 - 1)默认值为0,占用4个字节long64位,取值范围 : -263~(263-...
2019-03-07 20:48:41 132
原创 牛客网学习笔记-day01
牛客网学习笔记-day01Java修饰符大小public>protected>default>privatefinal方法不等同于private方法虽然类中的private方法都隐式地指定为final,但是二者并不是等同的。private是访问权限修饰符,用于控制外界对类内部成员的访问,private方法只能在类的内部访问,而final方法可以在类外部访问final...
2019-03-07 15:47:17 144
原创 平台无关性
为什么需要平台无关性用一句话来阐述就是 Write once, run anywhere (即书写一次,到处运行),平台无关性有以下几个优点支持多变的网络环境支持网络化嵌入式设备减少开发和在多个平台部署应用程序的成本和时间为什么Java被称作是平台无关的编程语言各个不同平台的虚拟机与所有平台都统一使用的程序存储格式 ──字节码是构成平台无关性的基石。Java的平台无关性很大程度上...
2019-03-02 10:34:00 35
原创 面向对象
面向对象定义面向对象,即Object Oriented,是一种新兴的程序设计方法。面向对象把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数三大基本特征:封装、继承、多态封装:封装也称为信息隐藏,是指将客观事物抽象成类,每个类对于自身的数据和方法提供保护。类可以将自己的数据和方法让信任的类或者对象操作,对不可信的进行信息隐藏继承:继承是指子类自动共享父类数据和方法的机制,这...
2019-02-26 12:13:00 34
原创 面向对象和面向过程
面向对象定义面向对象,即Object Oriented,是一种新兴的程序设计方法。面向对象把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数三大基本特征:封装、继承、多态封装:封装也称为信息隐藏,是指将客观事物抽象成类,每个类对于自身的数据和方法提供保护。类可以将自己的数据和方法让信任的类或者对象操作,对不可信的进行信息隐藏继承:继承是指子类自动共享父类数据和方法的机制,这是...
2019-02-26 12:10:25 195
原创 使用pageHelper遇到的问题
在做SSM整合的时候,遇到一个小问题,在我使用pageHelper的时候,分页的效果总是无法正确显示,卡了我几个小时,现在来说一下我的问题。1.首先导入pageHelper的包: <!--引入pageHelper分页插件 --> <dependency> <groupId>com.github.pageh...
2018-12-10 13:52:04 969 3
原创 JavaWeb后台从input表单获取文本值的两种方式
JavaWeb后台从input表单获取文本值的两种方式index.html 通过按钮提交 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
2018-11-18 15:01:07 7627
原创 阿里云上tomcat访问慢
最近在阿里云上安装了tomcat,但是访问很慢,气的我都想把电脑砸了,这时候在网上搜索了解决方案在tomcat下的/bin/catalina.sh中添加如下语句:JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"这时候访问tomcat就快一些了有一点需要说明当初我安装好tomcat后,又把实例重启了一下,然后再启...
2018-11-17 12:08:37 241
原创 static
静态变量、代码块、和静态方法的执行顺序我们来看一段代码class A{ static int i=0; static { System.out.println("静态代码块A"); } public A(){ System.out.println("构造方法A"); } { System.out....
2018-11-17 11:45:47 133
原创 Python字符串
字符串s="abcdef"访问字符串的值print(s[0])#aprint(s[1:5])#bcdeprint(s[::-1])#fedcbaprint(s[:-1])#abcde字符串更新s="hello"s=s[:5]+'world'print(s)#helloworld字符串运算符a=&a
2018-11-15 09:25:35 198
原创 字典
字典字典使用key-value存储,使用{}d={'a':1,'b':2,'c':3}print(d['b'])print(d)字典的键是唯一的,如果存在相同的键,后面的键会替换前面的d={'a':1,'b':2,'c':3,'b':4}print(d) #:{'a': 1, 'b': 4, 'c': 3}访问字典的值d={'a':1,'b':2,'c':3}print(d...
2018-11-15 09:24:49 492
原创 git基本使用
git基本使用1.基本操作配置全局用户及邮箱git config --global user.name "Your Name"git config --global user.email "email@example.com"配置当前仓库用户及邮箱git config user.name "Your Name"git config use
2018-11-15 09:23:54 125
原创 java
1.代码块在类中或方法当中 使用{}括起来的一段代码 就称它是一个代码块 1.局部代码块: 直接定义在方法内部 的代码块, 在调用方法的时候执行。 2.初始化代码块: 直接在类当中定义代码块,初始化代码块在运行时,还是要把它放到构造方法当中 3.静态代码块:在初始化代码块前面加上一个static,在加载字节码时就会自动调用,在主方法之前执行的。只执行一次。2.类加载类在什么...
2018-10-27 20:33:26 317
原创 静态变量、代码块、和静态方法的执行顺序
我们来看一段代码,下面的代码一目了然class A{ static int i=0; static { System.out.println("静态代码块A"); } public A(){ System.out.println("构造方法A"); } { System.out.println(...
2018-10-26 21:31:00 25
原创 list和tuple
1. 列表--list列表用[]表示l=[1,2,3,'zs']print(l)输出:[1,2,3,'zs']1.利用下标获取列表元素,下标从0开始print(l[3])输出:zsprint(l[4])越界报错:IndexError: list index out of range2.len()函数获取list元素的个数print(len(l))输出:43....
2018-07-12 13:44:00 26
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人