自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Stu_zkl的博客

java萌新

  • 博客(35)
  • 收藏
  • 关注

原创 数据库SQL执行计划

能写sql 只是程序员的基本功,能写出性能优异的SQL是优秀程序员的必备技能什么是Mysql的执行计划要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有简单的了解。一条SQL如何执行?大概过程MySQL本身的功能架构分为三个部分,分别是 应用层、逻辑层、物理层,不只是MySQL ,其他大多数数据库产品都是按这种架构来进行划分的。应用层,主要负责与客户端进行交互...

2018-10-11 23:40:13 5703

原创 Java容器(学习笔记)—下

LinkedList基于双向链表实现,使用Node存储链表节点信息private static class Node<E>{ E item; Node<E> next; Node<E> prev; }每个链表存储了first和last 两个指针transient Node first;transient Node l...

2018-10-11 17:21:59 293

原创 数据库索引

文章目录为什么要有索引??索引的优点索引的缺点有哪些索引,怎么分类?普通索引和唯一性索引单个索引和组合索引(联合索引,复合索引)聚簇索引和非聚簇索引覆盖索引mysql 中的存储引擎和索引MyISAM索引实现InnoDB索引实现为什么不建议使用过长的字段作为主键?为什么建议用单调(递增或者递减)的字段作为主键。或者说为什么要用一般建议用自增IDInnoDB索引和MyISAM索引的区别:为什么使用b-...

2018-10-10 18:17:28 536

原创 Java 容器(学习笔记)—上

容器Collection & Map容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。

2018-10-10 16:02:13 242

原创 Http

http1.0 && http1.1 && http2.0 && HttpsHttp协议:超文本传输协议是一种通信协议,它允许将超文本标记语言(HTML)文档从web服务器传输到客户端的浏览器。Http构建于TCP/IP协议之上,默认端口号是80Http是无连接无状态的。无连接,限制每次只处理一个请求无状态,对处理的的事务没有记忆...

2018-09-24 23:18:18 279

原创 Java 中的线程状态

Java 中的线程状态,与操作系统中的线程状态略有不同,需要仔细记忆理解。线程状态转换New通过new Thread()创建线程,创建后并未运行Runnable (可运行状态)New状态,调用start()后,进入Runnable 状态。注意:可能正在运行,也可能正在等待CPU时间片。该状态对应操作系统中的Running 和Ready 两个状态调用Thread,yield(),...

2018-09-24 15:04:21 256

原创 TCP && UDP (复习)

文章目录概念先整清楚TCP和UDP区别 (面试常问)TCP & UDP 特点TCP 首部格式UDP 首部格式TCP如何保证可靠传输的?TCP流量控制如何实现流量控制 ?流量控制引发的死锁?怎么避免死锁的发生?TCP拥塞控制慢开始与拥塞避免快重传和快恢复TCP 的三次握手为什么要三次才建立连接?TCP四次挥手四次挥手的原因TIME_WAIT(面试问过)补充滑动窗口(TCP可靠传输的具体实现)...

2018-09-21 18:35:50 391

原创 数据库之事务的隔离级别(学习笔记)

最近都在看数据库的相关,然后就有看到事务,看了很多文章发现内容多,有些地方容易混淆,不做笔记还真不行,必须总结。概念怎么说?至少了解一波吧事务可以理解为一个 独立的工作单元, 在这个独立的工作单元中, 有一组操作;放在事务(独立工作单元)中的多个操作, 要么全部执行成功, 要么全部执行失败。ACID(事务四大特性)原子性(Atomicity)一个事务必须被视为一个不可分割的最小工作单...

2018-09-19 14:08:37 456

原创 设计模式之单例模式

  单例模式说简单,也很简单,说复杂,也可以让你想不到。从接触到现在,做一个总结,方便以后复习。  实现单例模式的思路是:一个类能返回对象一个引用(永远是同一个)和一个获得该实例的方法(必须是静态方法,通常使用getInstance这个名称);当我们调用这个方法时,如果类持有的引用不为空就返回这个引用,如果类保持的引用为空就创建该类的实例并将实例的引用赋予该类保持的引用;同时我们还将该...

2018-09-19 11:16:23 226

原创 数据库之存储过程

  最近笔试面试,多次被问到,虽然笔者不怎么用,但是了解一下也是好的。基本概念  数据库存储过程是一组预先创建并用指定的名称存储在数据库服务器上的 SQL 语句,将使用比较频繁或者比较复杂的操作,预先用 SQL 语句写好并用一个指定的名称存储起来,以后当需要数据库提供与已定义好的存储过程的功能相同的服务时,只需再次执行该存储过程。  通俗点的讲就是一组为了完成特定功能的SQL 语句,类似一门...

2018-09-19 10:00:55 385

原创 数据库范式(学习笔记)

以前在学校做项目时,用到数据库时,就CRUD.以为数据真简单,也就查询语句有点小复杂,多看看查询语句就好了,实在不会上网查查,现在想想还是太年轻了。最近来看数据库,发现好多东西都记不住了。今天在这复习一下,并且写进博客,方便以后查阅复习。知识点设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小...

2018-09-17 13:00:44 415

原创 Scanner用法总结

Scanner用法总结标签(空格分隔): Java基础 Java小知识以前总是写项目,用到这Scanner这个类还是很少的,毕竟只是控制台输入。但是最近做算法题,面试题,总是要在控制台输入一些测试数据,由于Scanner的使用造成一些细节问题导致程序不通过,然后在网上搜索…. 以下摘自网上博客。一、Scanner类简介 Java 5添加了java.util.Scann...

2018-09-16 19:54:49 960

原创 构造哈希表以及二次探测法

构造哈希表(散列表)以及二次探测法今天做笔试题时,遇到一道构造哈希表的题,hash函数是 k%11 ,然后一个数组记不清了,然后就是问二次探测法进行,问下面那个是正确,懵逼啊,没做过,不知道,乱选直接下一题,于是有这个博客,赶紧学习一波。网上查询了一下。构造哈希表的几种方法常用方法是直接定址法和除留余数法直接定址法(取关键字的某个线性函数为哈希地址)类似于这样的...

2018-09-16 19:53:39 9854

原创 Java switch case 使用总结

Java switch case 使用总结总结switch (表达式) {case 条件1: 语句1; break;case 条件2: 语句2; break;...default: 语句;}witch 语句由一个控制表达式和多个case标签组成。switch 控制表达式支持的类型有byte、short、char、int...

2018-09-15 15:49:03 312

原创 读书笔记——计算机操作系统

读书笔记——计算机操作系统读书笔记——计算机操作系统1. 操作系统引论1.1 操作系统的目标和作用1.2 操作系统的发展过程1.2.1 操作系统的产生1.2.2 操作系统的形成1.2.3 微机操作系统的发展1.3 操作系统的基本特性1.4 操作系统的主要功能1.5 操作系统的结构设计(略)2. 进程管理3. 处理机调度与死锁3.1.1 处理机调度的层次...

2018-09-15 15:46:57 823

原创 读书笔记——阅深入理解Java虚拟机-周志明上

读书笔记——阅深入理解Java虚拟机(上)读书笔记——阅深入理解Java虚拟机(上)java发展史java对象访问使用句柄访问方式使用直接指针访问方式优势对比自动内存管理机制引用计算算法根搜索算法方法区的回收垃圾收集算法垃圾收集器垃圾收集器组合1、Serial收集器2、ParNew收集器3、Parallel Scavenge收集器4、Serial...

2018-09-15 15:45:34 911

转载 协程

协程协程进程是什么呢?Java中线程具有五种状态:什么是协程进程是什么呢?直白地讲,进程就是应用程序的启动实例。比如我们运行一个游戏,打开一个软件,就是开启了一个进程。进程拥有代码和打开的文件资源、数据资源、独立的内存空间。线程又是什么呢?线程从属于进程,是程序的实际执行者。一个进程至少包含一个主线程,也可以有更多的子线程。线程拥有自己的栈空间。...

2018-09-15 15:42:45 280

原创 volatile关键字?

volatile关键字?标签(空格分隔): Java基础 多线程 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volatile关键字的场景。链接 ...

2018-09-15 15:40:54 344

转载 CAS(Compare and Swap)

CAS(Compare and Swap)虽然这篇讲CAS,但是这里简单提以下SynchronizedSynchronized关键字会让没有得到锁资源的线程进入BLOCKED状态,而后在争夺到锁资源后恢复为RUNNABLE状态,这个过程中涉及到操作系统用户模式和内核模式的转换,代价比较高。尽管Java1.6为Synchronized做了优化,增加了从偏向锁到轻量级锁再到重量级锁的过度,...

2018-09-15 15:38:54 552 1

原创 String indexOf源码分析

String indexOf源码分析String中有个常用的功能是indexOf(String str) ,该方法的功能是返回指定字符串第一次出现的字符串内的索引。如果没有则返回-1。如果自己实现,就是暴力子字符串查找算法。pat ,需要匹配的字符串,下面称为模式 txt ,本查找的文本使用一个指针i跟踪文本,一个指针j跟踪模式。对于每个i,代码首先将j重置为0并不断增大,直...

2018-09-15 15:31:19 689

原创 Java中 equles与==的总结和区别

Java中 equles与==的总结和区别总结   1)对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;    如果作用于引用类型的变量,则比较的是所指向的对象的地址   2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量    如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;...

2018-09-15 15:29:30 1893

原创 Java 内存模型(Java Memory Mode ,JMM)

Java 内存模型(Java Memory Mode ,JMM)Java基础 多线程 JMM定义Java内存模型(Java虚拟机规范中定义):屏蔽掉各种硬件和操作系统之间内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果计算机中的并发问题在正式了解JMM之前,先了解下计算机中怎么解决并发问题由于计算机的存储设备与处理器的运算速度有几个数量级的差...

2018-09-15 15:26:09 476

原创 hashSet 如何保证元素不重复的?

hashSet 如何保证元素不重复的?标签: 面试 Java基础HashSet类中的add()源码public boolean add(E e) { return map.put(e, PRESENT)==null; }类中map和PARENT的定义: private transient HashMap<E,Object> map;...

2018-09-15 15:24:29 2149 1

原创 JavaScript - JSON

JSON是JavaScript Object Notation的缩写,它是一种数据交换格式。在JSON出现之前,大家一直用XML来传递数据。因为XML是一种纯文本格式,所以它适合在网络上交换数据。XML本身不算复杂,但是,加上DTD、XSD、XPath、XSLT等一大堆复杂的规范以后,任何正常的软件开发人员碰到XML都会感觉头大了,最后大家发现,即使你努力钻研几个月,也未必搞得清楚XML的规范。终于

2016-11-23 15:41:23 306

原创 JavaScript - RegExp(正则表达式)

字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。所以我们

2016-11-23 15:19:03 949

原创 JavaScript - Date对象

在JavaScript中,Date对象用来表示日期和时间。要获取系统当前时间,用:var now = new Date();now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)now.getFullYear(); // 2015, 年份now.getMonth(); // 5, 月份,注意月份范围是0~11,5表示六月now.getDate(); /

2016-11-23 14:43:06 359

原创 JavaScript 标准对象

在JavaScript的世界里,一切都是对象。但是某些对象还是和其他对象不太一样。为了区分对象的类型,我们用typeof操作符获取对象的类型,它总是返回一个字符串:typeof 123; // 'number'typeof NaN; // 'number'typeof 'str'; // 'string'typeof true; // 'boolean'typeof undefined; /

2016-11-23 14:30:54 335

原创 [事件处理] js实现的文本框内容发生改变立马触发事件简单介绍

js实现的文本框内容发生改变立马触发事件简单介绍:本章节介绍一下如何在文本框的内容发生变化的时候,立马触发一个事件执行响应的操作,而不是像是keydow或者keyup事件一样,只能够检测通过键盘输入导致内容的变化, 下面就通过代码实例做一下简单介绍。 一.相关知识准备: 1.onchange事件:此事件会在元素内容发生改变,且失去焦点的时候触发。 浏览器支持度较好。2.onpropertyc

2016-11-18 20:47:48 37017

原创 tomcat+mysql中文乱码问题

先让我们想一想,仔细分析一下环节。 从jsp前台 -> 后台java代码 -> 再到DB。再从DB -> 读出到后台 -> 显示到jsp上。 看是哪个环节出问题。通常我们是建议使用utf-8,那么每一个环节都要保证是utf-8。 这里有两个过程,一是写的过程,二是读出来显示的过程。先判断是哪个过程出的问题,很简单,先手动在DB插入一条中文的记录,看前台能否显示,能表示读的过程没问题,乱码出在写

2016-11-18 15:22:03 1035

原创 JavaScript 函数方法

在一个对象中绑定函数,称为这个对象的方法。在JavaScript中,对象的定义是这样的:var xiaoming = { name: '小明', birth: 1990};但是,如果我们给xiaoming绑定一个函数,就可以做更多的事情。比如,写个age()方法,返回xiaoming的年龄:var xiaoming = { name: '小明', birth: 19

2016-11-16 21:11:09 380

原创 JavaScript 循环

for循环最常用的地方是利用索引来遍历数组:var arr = ['Apple', 'Google', 'Microsoft'];var i, x;for (i=0; i<arr.length; i++) { x = arr[i]; alert(x);}for循环的3个条件都是可以省略的,如果没有退出循环的判断条件,就必须使用break语句退出循环,否则就是死循环:var

2016-11-16 16:51:07 416

转载 关于前端面试技巧,或者面试准备等方面

近来,由于我的公众号粉丝越来越多,当然留言和各种问题也越来越多,虽说近来一段 因为产品接近收尾上线阶段,确实略忙,我有时候甚至回到我温暖的家 都将近深夜11点(我也不知道为何这么拼,后面我会写篇文章专门分析这个问题);【关于前端面试技巧,或者面试准备等方面】已经被好多位同学要求了好多次。所以,今天我简单整理了下以前收集和自己想到的一些【基础篇技术篇】先送给大家。这些问题都很普通 但很基础和重要,决定

2016-11-14 17:27:20 1334 1

原创 JavaScript对象

JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。JavaScript的对象用于描述现实世界中的某个对象。例如,为了描述“小明”这个淘气的小朋友,我们可以用若干键值对来描述他:var xiaoming = { name: '小明', birth: 1990, school: 'No.1 Middle School', height: 1.70,

2016-11-14 17:20:39 411

原创 JavaScript 数组

JavaScript数组: 模板字符串要把多个字符串连接起来,可以用+号连接:var name = '小明';var age = 20;var message = '你好, ' + name + ', 你今年' + age + '岁了!';alert(message);如果有很多变量需要连接,用+号就比较麻烦。ES6新增了一种模板字符串,表示方法和上面的多行字符串一样,但是它会自动替换字符串

2016-11-14 16:45:46 289

原创 **Bufferreader** 读取文件(学习文档)

Bufferreader 读取文件(学习文档)String path = "E:/booknode/Exercise27_1a.txt"; File file = new File(path)//path 为该文件的路 BufferedReader reader = new BufferedReader(new FileReader(file)); Arra

2016-10-28 16:34:16 1504

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除