- 博客(22)
- 问答 (2)
- 收藏
- 关注
原创 读懂java的异常栈
写了下面的异常测试类public class ExceptionTest { public void getName(String cityName) throws RuntimeException { try { getSchoolName(cityName); } catch (StringIndexOutOfBounds...
2018-07-29 01:11:36 2236
原创 深入理解cookie的前世今生
提到cookie和seesion,相信很多人都知道,但是只是浮于表面,如果要他们详细的叙述原理及应用,估计很多人答不上来。相对于session存储在服务端来说,cookie是存储在客户端浏览器的。下面我将从几个方面来说明cookie。cookie从哪里来 1、服务端返回 2、客户端自己存储cookie到哪里去 对于浏览器来说,...
2018-07-28 23:55:05 642
原创 从此再也不用为python编码问题头疼了
首先说明几个常识 1、python默认文件编码为ascii编码 2、我们经常使用utf8来作为文件编码 3、python内部使用unicode编码 4、控制台显示中文使用的是gbk编码 再引出几个问题 1、为什么要用utf8而不是ascii来编码文件? 2、要显...
2018-07-28 22:29:08 335
原创 ZuulFilter和Fegin超时设置
之前配置ZuulFilter和Fegin超时时用了相同的配置方法,之前请求时数据量较小,没有出现什么问题。可是今天用Sidecar调用了python的一个服务,这个服务比较耗时,问题就出现了,各种超时,经过问题排查,最终发现之前的理解是错误的。 正确理解: ZuulFilter和Fegin中有两种超时: ...
2018-07-28 20:48:13 1510
原创 nginx配置https
这里主要记录下阿里云提供的配置步骤, 其中有一处错误需要注意。 以下是阿里云提供的免费证书(这点还是很值得赞的)下载配置。 需要配置服务?工程师一对一咨询,解决SSL证书安装、配置问题。¥56元起。立即咨询下载证书for Nginx安装证书文件说明:1. 证书文件214832942360149.pem,包含两段内容,请不要删除任何一段内容。2. 如果是证书系统创...
2018-07-27 12:29:53 209
原创 html的解析流程
先抛出几个问题: 1、DomContentLoad是什么 ? 2、Load是什么 ? 3、paint是什么 4、js会阻塞dom的解析吗,js会阻塞dom的渲染吗 ? 5、css会阻塞dom的解析吗,css会阻塞dom的渲染吗 ? 6、img会阻塞dom的解析吗,i...
2018-07-23 13:24:23 5333 2
原创 空的死循环为什么会让cpu100%
while (1) { //空代码块 } 上面这个代码相信很多人都写过,这个代码的后果就是cpu会100%(具体数值要看cpu核数和操作系统对这个的表示方法,有的2核会显示50%,有的2核会显示100%),如果是单核那么你的电脑会相当卡了。解决这个问题的办法很简单 while (1) { sleep(1); }加上一个sleep(1),让她休眠一秒就好...
2018-07-19 17:10:04 10554 3
原创 线程进程是怎样使用多核的
最近由于有抢票的需求,对于一个用户而言,用一个死循环,一个刷票就好了,刷到了就break退出。但是现在我要考虑同时给很多人抢,那么必须要考虑并发。但是这是一个耗时的任务,很可能几天都不能结束这个任务,所以这个和普通的java web并发不同。我在思考如何设置这个线程模型时引出了一个问题,之前还一直都没思考过这个。 多核时,一个线程是始终由一个cpu核运行还是每个cpu核都会运行...
2018-07-19 16:21:17 7530
原创 mac查看多核cpu的利用率
众所周知,在linux下使用top命令,再输入数字1就可以查看cpu每个核的使用情况了。但是在mac下,可以使用top命令,但是输入数字1并不能显示多核的使用情况。那么怎么做呢? 步骤如下1、Launchpad -- 其它 -- 活动监视器 2、显示 -- Dock图标 -- 显示cpu历史记录3、窗口 -- cpu使用率4、此时就会出现四柱图这...
2018-07-19 14:17:01 24831 2
转载 @Autowired 如何做到自动装配私有变量而不使用set方法的原理
熟悉jdk的话就知道,方法就是使用java.lang.reflect.Field类的:Field.setAccessible(true); 将字段设置为‘true’,就可以直接使用set方法为其赋值了。 如果不设置‘true’的话,则会抛出‘java.lang.IllegalAccessException’的异常 Spring中的代码如下(标红色的部分): -----------------...
2018-07-14 23:22:46 1836
原创 从日志层面分析mysql高可用实现原理
本文主要讨论innodb 关键问题: mysql主要有哪些日志? 为什么MySQL有binlog,还有redo log? 事务是如何提交的?事务提交先写binlog还是redo log?如何保证这两部分的日志做到顺序一致性? 为了保障主从复制安全,故障恢复是如何做的?...
2018-07-14 23:15:06 256
原创 分布式锁的实现方式
单台tomcat下,由于是多线程,mysql会存在多个连接,如果不做处理,会产生多线程数据不安全问题,此时可在具体的service中加锁即可处理 多台tomcat下,就要使用分布式锁 mysql 某一个 操作(insert,update,delete)是原子性的,不需要加锁,但是如果存在 ABA 问题的情况下,必须要加锁。ABA问...
2018-07-14 21:35:15 223
原创 高并发电商秒杀的演进
没有最好的架构,只有最合适的架构。秒杀作为电商很重要的一部分,其技术实现也是相对比较复杂的。随着秒杀用户的增加,架构也是随之改变的,当然也可以一次性设计好,但是我并不建议这么做。为什么呢?大部分互联网公司初创时的人员非常少,有经验的更是稀缺,这时候如果一上来就往千万级,亿级的并发量设计,其难度可想而知。可能你花了一年,两年甚至更久的时间,系统还不能稳定,而此时公司的资源早已被耗尽,所设计的...
2018-07-14 17:00:00 760
原创 python如何让multiprocessing抛出错误信息
如果你是第一次用 multiprocessing 写多进程,那么你一定会遇到一个很令你头疼的问题,就是程序执行到某一步就停止了,而且没有任何错误信息。我第一次遇到这个也是很无语,用log来调试之后,大概10分钟才想到可能是 multiprocessing 没有抛出错误信息导致的。如是goole了一下,果然找到了解决方法。result = pool.apply_async(loop, ...
2018-07-14 09:01:56 5758 3
原创 redis基本配置
一、远程登录1、切记首先开放6379端口,如果是阿里云,则可以去网络安全组配置。2、注释掉bind 127.0.0.13、修改 protected-mode yes为protected-mode no 二、日志配置 logfile "/xindao/redis/redis-4.0.10/log/redis.log" 其中需要创建目录 /x...
2018-07-13 19:12:20 196
原创 centos7.2自定义安装redis4.0.10
1、下载安装包并解压wget http://download.redis.io/releases/redis-4.0.10.tar.gztar xzf redis-4.0.10.tar.gz2、创建安装路径目录 mkdir -p /xindao/redis/redis-4.0.103、编译安装 [root@xdadult redis-4.0.10]# make ...
2018-07-13 17:06:10 554 1
原创 homebrew安装redis
1、安装安装命令brew install redismac下homebrew安装软件的位置/usr/local/Cellar故redis的安装位置在/usr/local/Cellar/redis配置文件位置 /usr/local/etc/redis.conf 2、启动server cd /usr/local/Cellar/redis/...
2018-07-13 15:30:38 861
原创 centso7安装jdk8
1、下载jdkhttp://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz2、创建java目录,解压安装包,将解压后的目录移到java目录下 mkdir /xindao/java tar -zxv...
2018-07-11 17:56:48 393
原创 nginx添加模块
场景是这样的,照着之前的方法 https://mp.csdn.net/postedit/80894577 安装了nginx。然而今天在配置https的时候,却遇到了这样的错误 the "ssl" parameter requires ngx_http_ssl_module。很显然这是由于没有安装ssl模块导致的,那么要解决这个问题就是要安装ssl模块。由于我的nginx已经有了其他...
2018-07-11 14:06:07 330
原创 ZuulFilter设置不路由
今天在使用spring cloud中zuulFilter的时候,遇到了一个问题,什么问题呢? 我的架构是这样 if (StringUtil.isNullOrBlank(tokenStr)){ returnToClient(response,AppError.APP_TOKEN_IS_NULL_ERROR); logger.error("tok...
2018-07-05 16:13:18 2020 1
原创 centos7.2源码安装mysql5.6
**源码安装和yum安装包安装**区别:yum安装简单,但不知道在哪个文件 源码安装复杂,但可自由配置推荐使用源码进行安装,使用源码安装 应使用wegt进行源码下载安装cmake1、从mysql5.5开始,mysql不再使用configure编译,而是使用cmake编译2、下载cmake wget https://cmake...
2018-07-03 18:23:18 415 1
原创 centos7.2安装nginx
去网站下载安装包,地址:http://nginx.org/en/download.html,本人下载格式为nginx-1.10.2.tar.gz 上传nginx-1.10.2.tar.gz安装包到linux服务器 解压 tar -xzvfnginx-1.10.2.tar.gz 进入解压后的目录 cd nginx-1.10.2 配置安装目录 ./configure --pre...
2018-07-03 10:49:02 356
空空如也
非阻塞socket通信一定要心跳包吗?
2017-03-29
怎样让程序支持命令行操作
2016-03-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人