<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[nn1__2970的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/nn1__2970</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; nn1__2970]]></copyright><item><title><![CDATA[C/S与B/S的比较]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/113882530</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/113882530</guid><author>nn1__2970</author><pubDate>Fri, 05 Mar 2021 15:23:31 +0800</pubDate><description><![CDATA[C/S
Client/Server，客户端/服务器端

C/S结构的系统，我们进行访问时需要下载特定的应用程序，eg：微信、新浪微博、腾讯视频客户端等；
C/S结构的原理：用户访问客户端应用程序，发出请求服务器端进行分析处理，再发送反馈；
C/S结构的系统注重用户的体验，要求画质清晰，响应速度高。


优点：
 C/S结构系统将应用于服务分离，系统具有稳定性和灵活性；
 C/S结构配备的是 点对点的结构模式，应用于局域网，有可靠的安全性；
 C/S结构的系统数据大部分集成在客户端软件中，服务器端需要传送的数]]></description><category></category></item><item><title><![CDATA[数据库---索引优化]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/102256088</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/102256088</guid><author>nn1__2970</author><pubDate>Fri, 05 Mar 2021 15:04:34 +0800</pubDate><description><![CDATA[0628 SQL及索引优化
索引的执行分析；

索引失效；

SQL和索引的优化；


explain 关键字是分析SQL索引执行过程；

操作Student表
mysql&gt; select * from student;
+-----+-------+------+------+
| SID | Sname | Sage | Ssex |
+-----+-------+------+----...]]></description><category></category></item><item><title><![CDATA[数据库---索引的底层原理]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/114397158</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/114397158</guid><author>nn1__2970</author><pubDate>Fri, 05 Mar 2021 15:01:36 +0800</pubDate><description><![CDATA[索引的底层原理
MYSQL支持两种索引，B+树索引，哈希表索引；
存储引擎为MYISAM和INNODB的索引结构：

MYISAM存储引擎—主键索引（非聚集索引）

MYISAM引擎使用B+ 树作为索引结构、叶节点的data域存放的是数据记录地址；
MYISAM中，主索引和辅助索引在结构上没有任何区别，只是主索引要求key是唯一的，而辅助索引的key可以重复。
按照B+ 树搜索算法搜索索引，如果指定的key存在，则取出其data域的值，然后以data域的值为地址，读取相应数据记录。

INNoDB存储引擎—]]></description><category></category></item><item><title><![CDATA[数据库---索引]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/101419541</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/101419541</guid><author>nn1__2970</author><pubDate>Fri, 05 Mar 2021 14:58:43 +0800</pubDate><description><![CDATA[索引：

一种数据结构，（B树或者是哈希结构），提高查询效率。
索引是创建在数据库表中，是对数据库表中的一列或者多列值进行排序的一个结果，好处就是提高查询效率。

索引的分类：

普通索引：没有任何限制，可以给任何字段创建普通索引；
唯一性索引：使用Unique修饰的 字段，值不能重复，主键索引就是唯一性索引；
主键索引：使用primary key修饰的字段自动创建主键索引，不能为空；
外键索引...]]></description><category></category></item><item><title><![CDATA[数据库---事务、存储引擎]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/101419567</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/101419567</guid><author>nn1__2970</author><pubDate>Fri, 05 Mar 2021 14:52:13 +0800</pubDate><description><![CDATA[事务
一个事务是由一条或者多条操作数据库的SQL语句所组成的一个不可分割的单元。
只有事务中所有操作都正常执行，整个事务才能给提交到数据库，要么成功，要么失败，不能出现部分成功和失败。
userid  cardid   price
gdz     123       100 + 100 =200
gxt     456       600 - 100 =500
gxt同学给gdz转一百块钱  （应...]]></description><category></category></item><item><title><![CDATA[集合---1.8与1.7中HashMap的变化]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/102312826</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/102312826</guid><author>nn1__2970</author><pubDate>Mon, 07 Oct 2019 18:37:15 +0800</pubDate><description><![CDATA[HashMap
摘抄整理自公众号–Java极客技术。
底层数据结构
（1）在jdk1.7中，HashMap的底层数据结构是数组+链表，当发生hash冲突时，使用的是链地址法（又叫拉链法），将冲突的元素放入对应位置的链表中；
（2）在jdk1.8中，HashMap的底层数据结构主要是数组+链表+红黑树，当链表长度超过 8 的时候，就将链表变成红黑树，如图所示。

方法比较

put方法
（1）jdk...]]></description><category></category></item><item><title><![CDATA[数据库---SQL操作]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/101419484</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/101419484</guid><author>nn1__2970</author><pubDate>Sun, 06 Oct 2019 21:54:50 +0800</pubDate><description><![CDATA[库操作SQL格式：
1.创建数据库：create database database_name;
2.查看数据库：show databases;
3.使用数据库：use database_name;
4.查看数据库下的存在表：show tables;
5.删除数据库：drop database database_name;
表操作SQL格式
1.创建表：
create table table_na...]]></description><category></category></item><item><title><![CDATA[数据库---MYSQL基础]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/101419397</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/101419397</guid><author>nn1__2970</author><pubDate>Sun, 06 Oct 2019 21:34:49 +0800</pubDate><description><![CDATA[MYSQL相关
数据库的一种；目前属于Oracle甲骨文公司；
称为关系型数据库，微软的SQL server；
MySQL数据是一种C/S模型即客户端服务端模型；
客户端通过账号，密码连接服务器，连接成功后才可以进行数据库操作（CRUD增删改查）；
MYSQL的服务端采用IO复用 + 可伸缩的线程池，实现了网络高并发的经典模型；

MYSQL 的优势：

（1）开放源码的数据库；
（2）跨平台性；...]]></description><category></category></item><item><title><![CDATA[集合---Set、List、Map的区别]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/102253699</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/102253699</guid><author>nn1__2970</author><pubDate>Sun, 06 Oct 2019 21:26:16 +0800</pubDate><description><![CDATA[Set、List和 Map 的区别
Set 、List 和 Map 是 Java 容器框架的三个最重要的接口。

List 提供了一个有序且有索引的容器，它允许重复值的出现。
Set 提供了一个无序的唯一对象的容器，Set 不允许重复值。
Map 提供的则是一个基于键值对以及哈希的数据结构（key-value）。

List、Set 和 Map 这三个都是 Java 里的接口，在容器 API 里都...]]></description><category></category></item><item><title><![CDATA[JVM---Minor GC和Major GC，对象从新生代到老年代的过程]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/101573740</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/101573740</guid><author>nn1__2970</author><pubDate>Sat, 28 Sep 2019 11:42:23 +0800</pubDate><description><![CDATA[GC
关于JVM堆区的划分，请转至JVM垃圾回收机制 查看，感谢。
1.垃圾回收机制过程
2.什么时候发生minor GC和Full GC？
3.为什么要进行minor GC？
4.初始化的对象会被放在什么地方呢？

对象的内存分配策略

两个存储位置：本地线程缓存TLAB和堆



新对象产生时首先检查本地线程是否开启了缓存，是则存储在TLAB，否则去堆中寻找位置。


堆区：Eden、两个Su...]]></description><category></category></item><item><title><![CDATA[编程--在数组中找出任意一个重复的数字]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/95470529</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/95470529</guid><author>nn1__2970</author><pubDate>Sat, 21 Sep 2019 23:37:49 +0800</pubDate><description><![CDATA[在一个长度为n的数组里的所有数字都在0–n-1 的范围内。数组中某些数字是重复的，但不知道有几个数字是重复的。也不知道每个数字重复几次。
请找出数组中任意一个重复的数字。
例：如果输入长度为7 的数组{2,3,1,0,2,5,3}，那么对应的输出是第一个重复的数字2.
* 产生一个随机数的数组，指定数组长度为10；（Math.Random()）
* 创建一个新的数组保存找到的重复数字；（int[]...]]></description><category></category></item><item><title><![CDATA[Linux---地址映射]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/101039907</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/101039907</guid><author>nn1__2970</author><pubDate>Fri, 20 Sep 2019 01:25:29 +0800</pubDate><description><![CDATA[JVM和Linux进程的内存模型
.class   –&gt; JVM   —&gt; Linux

JVM 本身就是用原生代码（C&amp; C++）实现的，也就是说一个JVM进程其实就是一个C语言开发的程序在运行，JVM上可以解释class字节码文件，在JVM层，内存主要划分为方法区（指令，Class对象，static成员变量），heap堆区（new出来的对象和常量池），JVM stack ，...]]></description><category></category></item><item><title><![CDATA[线程---关于死锁，进程和线程，多进程与多线程，synchronized与ReentrantLock的区别]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/101040367</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/101040367</guid><author>nn1__2970</author><pubDate>Fri, 20 Sep 2019 00:47:58 +0800</pubDate><description><![CDATA[怎么理解系统的进程和线程？？
进程：
进程是系统划分资源（I/O资源[磁盘，文件]，CPU资源，内存资源）的基本单位，进程本身不执行任何的指令；
每一个进程的创建，都伴随着一个主线程的创建，线程才是负责执行指令的，也就是说Linux系统调用的基本执行单元，就是线程（main线程 线程 = 线程栈（线程函数 main函数）），自己创建的线程，也是需要匹配一个线程的入口函数的，就是run函数；
线程：...]]></description><category></category></item><item><title><![CDATA[Linux---网络相关和定位Java进程占用系统资源使用率高的问题]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/101017814</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/101017814</guid><author>nn1__2970</author><pubDate>Thu, 19 Sep 2019 13:27:10 +0800</pubDate><description><![CDATA[Linux网络相关命令


ping ：检测host地址或域名代表的主机是否可达；


ifconfig：查看当前主机的所有网卡以及工作状态；


netstat：查看当前主机的top端口使用的情况，服务运行的情况；


netstat -tanp：可以查看当前使用协议（TCP/UDP）、接收缓冲区数据大小，发送缓冲区数据大小，本机地址，端口号，socket的状态，进程的PID号/进程名；


n...]]></description><category></category></item><item><title><![CDATA[Linux---基本常用命令]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/101016871</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/101016871</guid><author>nn1__2970</author><pubDate>Thu, 19 Sep 2019 11:30:51 +0800</pubDate><description><![CDATA[Linux
Windows的磁盘管理：C、D、E   磁盘空间 —》文件夹（目录）、、、文件；
Linux的磁盘管理：文件夹（目录）  —》磁盘空间，多用户管理系统；
Linux的文件目录：
/  根目录
/root (Linux系统启动所依赖的文件)
/usr（进行系统编程所用的头文件和Lib库）    eg: /usr/include   /usr/local/include   /usr/l...]]></description><category></category></item><item><title><![CDATA[hash算法（HashMap中的应用）]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/99739978</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/99739978</guid><author>nn1__2970</author><pubDate>Mon, 19 Aug 2019 17:30:23 +0800</pubDate><description><![CDATA[哈希表
数据结构：哈希表
哈希表：通过关键码来映射到值的一个数据结构。

哈希函数：键与值映射的一个映射关系；

哈希：
Hash，一般翻译做“散列”，也有直接音译为“哈希”的，就是把任意长度的输入，通过散列算法，变换成固定长度的输出，该输出就是散列值。这种转换是一种压缩映射，也就是，散列值的空间通常远小于输入的空间，不同的输入可能会散列成相同的输出，所以不可能从散列值来唯一的确定输入值。简单的说...]]></description><category></category></item><item><title><![CDATA[JVM---垃圾回收机制]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/99661989</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/99661989</guid><author>nn1__2970</author><pubDate>Thu, 15 Aug 2019 23:20:03 +0800</pubDate><description><![CDATA[垃圾回收
垃圾回收：
JVM中如何将对象视为垃圾？？
1.那些内存需要回收？(对象是否可以被回收的两种经典算法: 引用计数法 和 可达性分析算法)

2.什么时候回收？ （堆的新生代、老年代、永久代的垃圾回收时机，MinorGC 和 FullGC）

3.如何回收？(三种经典垃圾回收算法(标记清除算法、复制算法、标记整理算法)及分代收集算法 和 七种垃圾收集器)

在JVM提供垃圾回收机制，将内存...]]></description><category></category></item><item><title><![CDATA[JVM（Java Virtual Machine）]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/84343984</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/84343984</guid><author>nn1__2970</author><pubDate>Thu, 15 Aug 2019 23:11:45 +0800</pubDate><description><![CDATA[JVM介绍
区分JDK、JRE、JVM

JDK，JRE，JVM：

（1）JRE（JAVA Runtime Environment）:    java 运行环境
java的平台，所有的java程序都在该平台下运行；
（2）JDK（JAVA Development kit）:    java开发工具
是程序开发者用来编译、调试java程序；jdk也是java程序，是需要在JRE上运行的，为了保证j...]]></description><category></category></item><item><title><![CDATA[三大排序算法（冒泡、选择、直接插入）]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/99642491</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/99642491</guid><author>nn1__2970</author><pubDate>Thu, 15 Aug 2019 16:38:42 +0800</pubDate><description><![CDATA[时间复杂度：
 一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。 时间复杂度，在刚才提到的时间频度中，n称为问题的规模，当n不断变化时，时间频度T(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此，我们引入时间复杂度概念。
一般情况下，算法中基本操作重复执行的次数是问题规模n的某个函数，用T(n)表示，若有某个辅助函数f(n),使得当n趋近于无穷大时，T（n)/f(n)的...]]></description><category></category></item><item><title><![CDATA[Java.util.Arrays]]></title><link>https://blog.youkuaiyun.com/nn1__2970/article/details/99630014</link><guid>https://blog.youkuaiyun.com/nn1__2970/article/details/99630014</guid><author>nn1__2970</author><pubDate>Thu, 15 Aug 2019 12:48:08 +0800</pubDate><description><![CDATA[Java.util.Arrays
 java.util.Arrays类中提供了许多实用的方法，可用于数组的复制、排序等操作处理。
以下是常用的方法和属性：

Arrays.sort() 串行排序:
源代码：

public static void sort(int[] a, int fromIndex, int toIndex) {
    rangeCheck(a.length, fromInd...]]></description><category></category></item></channel></rss>