- 博客(37)
- 资源 (2)
- 收藏
- 关注
原创 面试知识点
知识点https://www.cnblogs.com/yanfei1819/p/10213673.htmlIO,多线程,jvmDouble /spring Boot消息队列 kafkaEs数据库Mysql 事物级别Orcle/mysql/ pg1. Java中String、StringBuffer和StringBuilder的区别和堆栈内存分配...
2022-11-30 15:56:47 98 1
原创 三种常见的限流算法
三种常见的限流算法1、计数器算法 计数器算法是限流算法里最简单也是最容易实现的一种算法。比如我们规定,对于A接口来说,我们1分钟的访问次数不能超过100个。那么我们可以这么做:在一开 始的时候,我们可以设置一个计数器counter,每当一个请求过来的时候,counter就加1,如果counter的值大于100并且该请求与第一个 请求的间隔时间还在1分钟之内,那么说明请求数过多;如果该请求与第一个请求的间隔时间大于1分钟,且counter的值还在限流范围内,那么就重置 counter,具体算法的示意..
2022-11-28 17:38:08 76
原创 jvm篇之内存分配模型-String str与new String()
jvm篇之内存分配模型-String str与new String()
2022-07-31 22:27:50 334 2
原创 数据库篇之分表
分表分库1.分表水平: 一个表均匀分散到多个表,表结构相同,数据不同,冷热数据分离优点,方便扩容垂直:拆表,通过字段关联,将访问频率高的放到一个表(字段少),访问频率低的放一个表 ;不经常使用或者长度较大的字段拆分出去放到“扩展表”中因为数据库有缓存页(数据按缓存页缓冲池,InnoDB缓存池默认128M), 字段少缓存的行多,性能越好。2 插件Sharding-jdbc:client层,支持分库分表、读写分离、分布式 id 生成、柔性事务(最大努...
2021-06-16 23:00:51 323
原创 redis 之持久化方式
Redis 数据持久化RDB 全称redis database,在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时 直接将快照文件直接读到内存里Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,主进程是不进行任何IO操作的 Fork的作用是复制一个与当前进程一样的进程。新进程的所有数据(变量、环境变量、程序计数器等)数值都和原进程一 致,但是是一个全新的进程,并作为原进程的子进程生成RDB文件保存数据到磁盘.
2021-02-10 16:38:07 90
原创 MySQL InnoDB 解决自增主键锁表方法
建表时可用“AUTO_INCREMENT=n”选项来指定一个自增的初始值只适用于整数类型数据列。auto_increment_offset表示起始数字auto_increment_increment表示调动幅度(即每次增加n个数字,2就代表每次+2)MySQL5.1.22之前,InnoDB自增值是通过其本身的自增长计数器来获取值,该实现方式是通过表锁机制来完成的(AUTO-INC LOCKING)InnoDB自增值是通过其本身的自增长计数器来获取值,该实现方式是通过表锁机制来完成的(AUT.
2020-12-06 22:12:23 1750
原创 并发基础
并发的根源1源头之一:缓存导致的可见性问题一个线程对共享变量的修改,另外一个线程能够立刻看到,我们称为可见性2源头之二:线程切换带来的原子性问题把一个或者多个操作在 CPU 执行的过程中不被中断的特性称为原子性3源头之三:编译优化带来的有序性问题JVM 提供按需禁用缓存和编译优化的方法。包括 volatile、synchronized 和 final 三个关...
2020-01-08 16:26:17 116
原创 数据库之索引篇
索引快速全扫描(INDEX FAST FULL SCAN)与索引全扫描(INDEX FULL SCAN)当select和where中出现的列都存在索引是发生index full scan与index fast full scan的前提 index fast full scan使用多块读的方式读取索引块,产生db file scattered reads 事件,读取时高效,但为无序读取 ...
2020-01-08 14:47:01 91
原创 自旋锁
自旋就是指当有另外一个线程来竞争锁时,这个线程会在原地循环等待,而不是把该线程给阻塞,直到那个获得锁的线程释放锁之后,这个线程就可以马上获得锁的。锁在原地循环的时候,是会消耗cpu的,就相当于在执行一个啥也没有的for循环。 有些不足之处:1、自旋锁一直占用CPU,他在未获得锁的情况下,一直运行--自旋,所以占用着CPU,如果不能在很短的时 间内获得锁,这无疑会使CPU效率降低。...
2019-09-16 11:38:07 1010
原创 线程池,多线程详解及相关面试题
实现方式1继承Thread类创建线程2 实现Runnable接口创建线程3 实现Callable接口通过FutureTask报装器来创建Thread线程重写 call() (Callable接口只有一个方法)4 使用ExecutorService、Callable、Future实现有返回结果的线程详情转https://www.cnblogs.com/fel...
2019-09-08 23:24:49 1294 1
原创 ES篇(待完善)
1.1 Elasticsearch(Es)介绍和安装https://blog.csdn.net/chen_2890/article/details/837570221.2 JAVA API调用elasticsearch实现基本增删改查https://blog.csdn.net/linzhiqiang0316/article/details/803548981.3 es基本介绍及相...
2019-09-08 22:49:02 116
原创 红黑树 B,B+树(未完待续)
红黑树 O(logn)1 所有节点红色或者黑色2 根节点是黑色3 每个叶子节点 是空 或者黑色(所有节点都有二个子节点 要么一个空 要么二个是空)4 每个红色节点的二个子节点都是黑色 从每个叶子到根的所有路径上不能有两个连续的红色节点)5 从任一个节点到每个叶子的所有路径都有相同数量的黑色节点从根到叶子的最长的可能路径不多于最短的可能路径的两倍长。...
2019-03-28 23:03:22 498
原创 HashMap 原理
HashMap 原理相关基础HashMap哈希表 table数组是一个线性数组 Entry[]HashMap实现一个静态内部类 Entry : key value next存取值存 map.put(key,value) 每个key hashint hash = ...
2019-03-26 22:21:21 293
原创 云计算之IaaS PaaS SaaS
概念云计算的三个分层,基础施舍在最末端,平台在中间,软件则在顶层,分别是Infrastructure-as-a-Service(IaaS)、Platform-as-a-Service(PaaS)、Software-as-a-Service(SaaS)基础设施(infrastructure)、平台(platform)和软件(software)。以吃饺子为例 ,饺子店提供三个层次服务 ...
2019-03-26 22:15:15 210
转载 数据库(1) ---事务的四大特性以及事务的隔离级别
1 脏读 读了未提交的数据 一个事务处理过程里读取了另一个未提交的事务中的数据2 不可重复读 一个事务范围内多次查询却返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了。3 虚读(幻读) eg:T1操作表所有行的某个数据 1改为 2 ,T2 插入一行 此行的数值还是为1 操作T1的用户再次查看刚刚修改的数据 发现T2插入的一行未改就是幻读 幻...
2019-03-14 11:46:16 100
原创 数据库(2)---sql执行顺序及优化
Sql顺序SQL的语法顺序: select 【distinct】 ....from ....【xxx join】【on】....where....group by ....having....【union】....order by......SQL的执行顺序:from ....【xxx join】【on】....where....group by ....avg()、sum...
2019-03-02 23:14:39 179
转载 高效编程之hashmap你不看就会忘记的知识点
以前菜得不能看的时候看Java的招聘要求:Java基础扎实,熟悉常用集合类,多线程,IO,网络编程,经常会疑惑,集合类不就ArrayList,HashMap会用,熟悉下API不就好了么,知道得越多才会发觉不知道的还有好多! 一入Java深似海啊 的本文使用的源码是jdk1.7的源码,hashmap每个版本都发生了改变,源码都不同,但原理都是一样的,可以参考一下;读下文前可以先思考以下这几个...
2018-05-27 00:20:27 132
转载 设置Collection 或 Map 只读(z转)
有的时候创建一个具有只读属性的Collection 或 Map,会带来很多方便。Collections 类可以帮我们实现这个目的,它有一个方法,参数为原本的容器,返回的容器是具有只读属性的容器。可以应用于Collection、List、Map、Set。下面是关于Collections 类的具体方法:static < T > Collection< T > unmodifia...
2018-05-24 15:05:24 1291
原创 spring boot与spring Cloud
Spring Cloud 分布式微服务架构下的一战式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。SpringBoot专注于快速,方便的开发单个微服务个体SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的_个个单体微服务整合并管理起来, 为各个微服务之间提供 ,配置管理 、服务发现 、断路器、路由、微代理’、事件总线、全局锁...
2018-05-21 22:37:04 85
转载 SQL语句常见优化十大案例
1、慢SQL消耗了70%~90%的数据库CPU资源;2、SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低;3、SQL语句可以有不同的写法;下面是我总结的一些SQL常见的优化方法,每个案例都简单易懂,在开发过程中可以作为参考:1.不使用子查询例:SELECT * FROM t1 WHERE id (SE...
2018-05-17 22:47:51 127
原创 递归统计文件个数&递归与循环区别
import java.io.File;public class ReadDocment {public static void main(String[] args) {File f = new File("F:\\2-python");int fileCount = getFileFormDocment(f);}public static int getFileFormDocme...
2018-05-16 22:21:59 778
原创 积累 09.29
Static 中不能有thisFinal不可修饰抽象类DriverManager 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过抽象类实现接口时,不一定要全部实现接口中的所有方法 除了主方法 static方法中不能调用非static方法 反之可以UDP数据传输效率高于TCP
2018-05-10 14:27:06 84
原创 JVM加载class文件的原理机制
package javaCode0507;/* * 类的加载过程:被加载、连接(验证、准备和解析)和初始化 被加载: 类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件,然后产生与所加载类对应的Class对象 准备:为静态变量分配内存并设置默认的初始值 解析: 将符号引用替换为直接引用 初始化:1)如果类存在直接的父类并且这个类还没有被初始化,那么就先初始...
2018-05-10 10:10:56 136
原创 遍历map的几种方法
package javaCode0507;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;public class testMap { public static void main(String[] args) { Map<...
2018-05-09 11:23:53 1037
原创 java基础未完待续
java String StringBuffer StringBuilderString 不可变 String 不是原生类型 每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 StringString S1 = “abc”;For(int I = 0 ; I < 10000 ;...
2018-05-05 17:30:31 139
原创 python基础
好的网址基础入门 :http://www.php.cn/python-tutorials-360556.html自省检查某些事物以确定它是什么、它知道什么以及它能做什么。自省向程序员提供了极大的灵活性和控制力。1 help cmd输入 help() 然后输入按需输入关键字 list keywords\ import os help(os) import fnmatch as...
2018-05-05 17:01:24 99
转载 eclispe 快捷键
全局 单步跳入选择 Ctrl+F5 全局 调试上次启动 F11 全局 使用过滤器单步执行 Shift+F5 全局 添加/去除断点 Ctrl+Shift+B 全局 显示 Ctrl+D 全局 运行上次启动 Ctrl+F11 全局 运行至行 Ctrl+R 全局 执行 Ctrl+U解释说明:F8是调到下一个断点(没有的话,直接运行到结束)。F5是单步调试进入函数内部。F6是单步调试不进入函数内部。F7是由...
2018-05-05 16:49:46 179
原创 docker基础篇
容器生态系统包含核心技术、平台技术和支持技术核心技术:容器规范、容器 runtime、容器管理工具、容器定义工具、Registry 以及容器 OS OpenContainer Initiative(OCI)的组织,其目是制定开放的容器规范 runtimespec 和 image format specruntime 是容器真正运行的地方。runtime需要跟操作系统 kerne...
2018-04-25 18:27:20 203
原创 网络知识
cmp 数据中心云管理平台,实现云数据中心资源池统一管理计算,网络,存储,服务目录,订单,计量计费,容量,物理机,镜像网络直连网络 私有虚拟网络(Virtual Private Cloud-vpc) 安全组 防火墙 弹性ip弹性负载均衡elb(Elastic Load Balancing),资源池相关功能验证L2BRVXLAN网络的二层互通或三层互通,需要配置L2BR(Layer...
2018-04-23 17:44:43 1646
原创 个人笔记
网络 基础知识介绍:http://support.huawei.com/onlinetoolsweb/ptmngsys/Web/DataCenterNetwork/encyclopedia/zh/fabric.htmlopenstack基本操作:python面试资料http://python.jobbole.com/85231/·xshell 1 awkawk '{print $1,$4}' l...
2018-04-08 15:20:40 97
原创 积累
pwd chen*1207B549iAiJ发简历 交卡自我介绍EX-CHENLIANG012weifpabcde123级联删除bug3R3pxBu2liangge*1207error 找不到 query-ear 打ear包可以解决Unable to access application source information in 'D:\pcms\
2016-04-11 18:19:23 488
转载 排序和查找
public staticint zheban(int ar[],int key){ int start = 0; int end = ar.length-1; int mid = (start + ar.length)/2; while(start<end){ if(key<ar[mid]){ ...
2015-09-29 15:30:24 238
原创 多线程-synchronized与static synchronized的区别
1.synchronized与static synchronized的区别 synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当前实例”, 类的两个不同实例就没有这种约束了。那么static synchronized恰好就是要控制类的所有实例的访问了 a. x.isSyncA()与x.isSyncB() ...
2015-09-29 15:25:24 276 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人