2021年1月7日

摘要: synchronized 早期的实现比较低效,对比 ReentrantLock,大多数场景性能都相差较大,但是在 Java 6 中对 synchronized 进行了非常多的改进。 主要区别如下: ReentrantLock 使用起来比较灵活,但是必须有释放锁的配合动作; ReentrantLock 阅读全文
posted @ 2021-01-07 15:53 shumeigang 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 可变性 简单的来说:String 类中使用 final 关键字修饰字符数组来保存字符串,private final char value[],所以 String 对象是不可变的。而StringBuilder 与 StringBuffer 都继承自 AbstractStringBuilder 类,在 阅读全文
posted @ 2021-01-07 15:42 shumeigang 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 一、索引是什么? 索引是帮助MySQL高效获取数据的数据结构。 二、索引能干什么? 索引非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引能够轻易将查询性能提高好几个数量级,总的来说就是可以明显的提高查询效率。 三、索引的分类? 1、从存储结构上来划分:BTree索引(B-T 阅读全文
posted @ 2021-01-07 15:40 shumeigang 阅读(66) 评论(0) 推荐(0) 编辑
摘要: Safepoint 可以理解成是在代码执行过程中的一些特殊位置,当线程执行到这些位置的时候,线程可以暂停。在 SafePoint 保存了其他位置没有的一些当前线程的运行信息, 供其他线程读取。这些信息包括:线程上下文的任何信息,例如对象或者非对象的内部指针等等。我们一般这么理解 SafePoint, 阅读全文
posted @ 2021-01-07 15:38 shumeigang 阅读(215) 评论(0) 推荐(0) 编辑
摘要: STW java中Stop-The-World机制简称STW,是在执行垃圾收集算法时,Java应用程序的其他所有线程都被挂起(除了垃圾收集帮助器之外)。 Java中一种全局暂停现象,全局停顿,所有Java代码停止,native代码可以执行,但不能与JVM交互;这些现象多半是由于gc引起。 设置jvm 阅读全文
posted @ 2021-01-07 15:36 shumeigang 阅读(493) 评论(0) 推荐(0) 编辑
摘要: Centos修改用户名 系统原来的用户lou,改为scrapy,要改以下个地方,注:没有修改对应密码 1. # vi /etc/passwd 修改其中的用户名部分、用户组部分、主目录部分2. 修改用户组的配置文件 # vi /etc/group修改用户名部分、用户组部分3. # vi /etc/gs 阅读全文
posted @ 2021-01-07 15:35 shumeigang 阅读(121) 评论(0) 推荐(0) 编辑
摘要: scope(域) 这两个概念必需一起理解,闭包是讲编译方式,scope是讲闭包的原理 ,相辅相成的。由于js有预编译的阶段,然后再是执行阶段。在预编译阶段,会根据var和function关键字找到声明的变量和函数,然后抽出来。在执行阶段,根据代码定义赋值的地方初始化var声明的变量,在调用函数时,会 阅读全文
posted @ 2021-01-07 15:34 shumeigang 阅读(221) 评论(0) 推荐(0) 编辑
摘要: //# 删除安装包yum remove -y 'cloudera-manager-*' enterprise-debuginfo* oracle-j2sdk1.7yum clean all//# 卸载目录umount cm_processes//# 删除目录rm -rf /usr/share/cmf 阅读全文
posted @ 2021-01-07 15:29 shumeigang 阅读(326) 评论(0) 推荐(0) 编辑
摘要: XSS 攻击xss 攻击的全称是跨站脚本攻击 CSRF 的防御1 将cookie 设置为HttpOnly2增加token3通过Referer识别 SQL注入攻击1 使用预编译语句如:String sql="select * from oder where id=?"PrepareStatement 阅读全文
posted @ 2021-01-07 15:27 shumeigang 阅读(107) 评论(0) 推荐(0) 编辑
摘要: mysql 分库分表 分表策略 如: order 表 被拆分成1024张表 拆分成: user_id%1024 取的对应表进行存储user_id%1024=0user_id%1024=1user_id%1024=2..... 分库分表路由策略如: 中间变量=user_id%(库数量*每个库的表数量) 阅读全文
posted @ 2021-01-07 15:26 shumeigang 阅读(133) 评论(0) 推荐(0) 编辑
摘要: Docker 运行一个 web 应用 在dcoekr容器中运行一个Python Flask应用来运行一个web应用1 docker pull training/webapp # 载入镜像[root@hadoop2 opt]# docker pull training/webappUsing defa 阅读全文
posted @ 2021-01-07 15:24 shumeigang 阅读(331) 评论(0) 推荐(0) 编辑
摘要: Docker 容器 获取镜像 $ docker pull ubuntu [root@hadoop2 opt]# docker pull ubuntuUsing default tag: latestTrying to pull repository docker.io/library/ubuntu 阅读全文
posted @ 2021-01-07 15:20 shumeigang 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 安装 安装方法1 自动安装curl -sSL https://get.daocloud.io/docker | sh 安装方法2yum安装 从高到低列出Docker-ce的版本yum list docker-ce.x86_64 --showduplicates | sort -r 安装方法3(建议使 阅读全文
posted @ 2021-01-07 15:19 shumeigang 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 负载均衡: Nginx:高性能、高并发的web服务器;功能包括负载均衡、反向代理、静态内容缓存、访问控制;工作在应用层 LVS: Linux virtual server,基于集群技术和Linux操作系统实现一个高性能、高可用的服务器;工作在网络层 webserver: Java:Tomcat,Ap 阅读全文
posted @ 2021-01-07 15:16 shumeigang 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 大型网站架构系列 第一本:《大型网站技术架构:核心原理与案例分析》 这是本算是国内大型网站架构的经典之作,由阿里人李智慧创作,听名字就知道本书很有智慧。主要从大型网站架构的特点,架构目标(高性能,高可用,可伸缩等)基本理论讲起,并介绍了几个很有特色的案例。 之前群内分享的大型网站架构系列的基础理论大 阅读全文
posted @ 2021-01-07 15:10 shumeigang 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 一 MySQL 中有哪几种锁? 1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3、页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间, 阅读全文
posted @ 2021-01-07 15:06 shumeigang 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 优化Nginx进程数 查看CPU grep "model name" /proc/cpuinfo | cut -f2 -d: ​ 进程绑定到不同的CPU 比如4核配置: worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000 开启高效传 阅读全文
posted @ 2021-01-07 15:03 shumeigang 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 1. 安装ngxtop yum install python python-pip -y yum install ngxtop -y 2 配置 nginx 日志 log_format main '$remote_addr - $remote_user [$time_local] "$request" 阅读全文
posted @ 2021-01-07 15:01 shumeigang 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 什么是缓存 1 数据交换的缓冲区(Cache)当当某一硬件要读取数据时,会首先从缓存中查询数据,有则直接执行,不存在时从磁盘中获取 2缓存往往使用的是RAM(断电既掉的非永久存储),所以在用完后还是会把文件送到硬盘等存储器中永久存储。 3高速缓存是用来协调CPU与主存之间存取速度的差异而设置的。 4 阅读全文
posted @ 2021-01-07 14:58 shumeigang 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 简述 Http 请求 get 和 post 的区别以及数据包格式 1GET请求可被缓存,POST请求不能被缓存。2GET请求被保留着浏览器历史记录中,POST请求不会被保留。3GET请求能被收藏至书签中,POST请求不能被收藏至书签。4GET请求不应在处理敏感数据时使用,POST可以用户处理敏感数据 阅读全文
posted @ 2021-01-07 14:56 shumeigang 阅读(135) 评论(0) 推荐(0) 编辑

导航