- 博客(116)
- 资源 (3)
- 收藏
- 关注
原创 REDIS最佳实践
REDIS最佳实践服务配置说明键值设计命令使用客户端使用删除bigkey最佳实践服务配置说明如果作为缓存使用,默认的key淘汰机制是allkeys-lru默认是不会开启持久化Redis未说明配置部分为Redis的默认配置,请参考:https://raw.githubusercontent.com/antirez/redis/2.8/redis.confdaemonize yespidfile /date/redis_data/redis-${port}.pidport ${port}bi
2022-03-25 18:16:28
3795
原创 【2020总结】时光安静相陪 冷酷无情
【2020总结】时光安静相陪 冷酷无情前言今年比较喜欢的歌 ——三体的《黑暗森林》2020,对于自己是一个成长过程中的里程碑,工作与理财能力有了阶段性提升,一直有一个执念,赚很多钱,实现财富自由,并藏着一颗了解世界全貌的心。在今年这种大环境下,各国的经济都处于大放水,一放水就会加剧贫富差距,而大到一定程度就会发生一些不好的事情。工作跳槽在今年4月份疫情的时候。投了三家,阿里,朴朴与网龙,介绍一下我的面试过程。阿里:很久没面试太紧张,但是面试官好像也是个新手朴朴:面试题不难,就是现在市面上的
2021-02-09 20:52:53
438
原创 【技术沙龙总结】福州朴朴01期 - 演进史
文章目录前言整体演进史单维度演进史总结前言一直都很期待福州有一些技术氛围,前几天看到便报了名,早上醒来看到下着大雨,竟然想了一会要不要去!地点福州上下杭鹿森书店,雨后的上下杭搭着小桥流水,有点乌镇的影子。![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTU1MjA2LzE1OTU2ODA0MjI3NTktNzhiOTZhMzUtYWY2Mi00YTEyLTgx
2020-07-26 10:58:35
1195
2
原创 关于@MapperScan注解的一些问题:sqlSessionTemplateRef与sqlSessionFactoryRef
@MapperScan(basePackages = "com.oo.xx", annotationClass = Mapper.class,sqlSessionTemplateRef = "xxxSqlSessionTemplate",sqlSessionFactoryRef = "xxxSqlSessionFactory")问题:sqlSessionTemplateRef与sqlSessionFactoryRef需要两个都注入么我们先注入sqlSessionFac...
2020-06-06 21:24:14
17927
4
原创 五大算法
文章目录引言1.分治递归2.贪心算法3.动态规划4.回溯算法5.分支限界6.参考引言据说有人归纳了计算机的五大常用算法,它们是贪婪算法,动态规划算法,分治算法,回溯算法以及分支限界算法。虽然不知道为何要将这五个算法归为最常用的算法,但是毫无疑问,这五个算法是有很多应用场景的,最优化问题大多可以利用这些算法解决。算法的本质就是解决问题。当数据量比较小时,其实根本就不需要什么算法,写一些for循...
2020-01-19 21:47:26
1057
原创 【2019总结】来安放 无人察觉的悸动
文章目录前言终身学习福大考研数学专业课英语政治谈技术聊生活经济学关于计划总结前言2019,这双敲代码的手,已经不再稚嫩。2019,又焦虑又充实的一年,就好像又痛苦又快乐这样一对矛盾,即对立又统一。所有不开心的话题只想找个树洞——可否借我一个小树洞,来安放,无人察觉的悸动。终身学习每个人在每个历史阶段都存在着矛盾,为了解决矛盾安排了任务,并且根据自身情况选择了道路。而学习是一条永远受...
2020-01-15 14:20:30
702
1
原创 【数据结构】一、概论
文章目录一、概论1.数据结构1.1 定义1.2 地位1.3 特点2.算法2.1 时间复杂度2.2 空间复杂度2.3 难易程度(可读性)2.4 健壮性3.预备知识3.1 指针3.1.1 指针定义3.1.2 指针的分类3.2 结构体为什么会出现结构体什么叫结构体如何使用结构体注意事项3.3 动态内存分配和释放3.4 跨函数使用内存一、概论1.数据结构1.1 定义我们如何把现实中大量而复杂的...
2019-09-28 15:18:12
821
转载 人工智能的发展史
文章目录1.人工智能的历史2.内涵与外延3.未来学4.对社会经济的影响5.技术体系6.应用领域7.总结1.人工智能的历史2.内涵与外延3.未来学4.对社会经济的影响5.技术体系6.应用领域7.总结 ![image.png](https://cdn.nlark.com/yuque/0/2019/png/155206/1564157425412-2aaf...
2019-07-27 11:01:51
588
1
原创 特征向量的欧式距离与余弦距离——推荐算法
文章目录1.前言2.欧几里得空间2.1 简介2.3 余弦距离3.应用4.代码1.前言近期热播的《长安十二夜》中大案牍术推荐出的不良帅、网易云音乐的每日歌曲推荐,这些生活中看似神乎其技的方法,用一个数公式便可简单实现。2.欧几里得空间2.1 简介大名鼎鼎的欧几里得在他大名鼎鼎的著作《几何原本》中:通过几何(即欧氏几何,从小学到高中,我们学习的就是欧氏几何)来描述、研究这个世界:...
2019-07-27 09:30:09
3455
5
原创 【C++】六、继承与多态
文章目录1.继承1.1 定义1.2 基类派生类1.3 访问控制和继承的方式1.4 继承中构造与析构调用原则1.5 继承中同名成员变量处理1.6 派生类中的static关键字1.6.1 静态数据成员1.6.2 静态成员函数1.6.3 代码1.7 多继承带来的二义性1.7.1 什么是多重继承的二义性1.7.2 解决办法2.多态2.1 静态多态2.2 动态多态1.继承对于继承的基础知识点参考:c+...
2019-07-26 19:07:37
371
原创 【C++】五、拷贝构造与赋值构造
文章目录1.拷贝构造1.1 为什么存在1.2 定义2.代码3.参考1.拷贝构造1.1 为什么存在当类的数据成员中没有指针类型的变量时,直接对两个对象进行赋值没有问题。但是一旦类的数据成员含有指针变量,那么直接对这两个对象进行赋值操作之后,这两个对象的指针都将指向同一块内存。这时,一旦其中一个对象生存期结束,释放该内存,那么另一个对象的指针就变成了野指针!这对程序危害很大1.2 ...
2019-07-26 19:06:43
582
原创 【C++】四、重载,重写,重定义
文章目录1 重载1.1 定义1.2 代码解析2 重写2.1 定义2.2 应用3 重定义3.1 定义4 重载重定义与重写1 重载1.1 定义重载指的是在同一个作用域内,两函数的函数名可以相同,但是参数不能完全相同,可以是参数类型不同或者是参数个数不同,至于返回值,不影响重载。1.2 代码解析//1、函数重载从底层上来说,还是两个不同的函数!//函数会被编译成_test_int_in...
2019-07-26 19:05:56
321
原创 【C++】三、const与字符串
文章目录1.const1.1常变量1.2常引用1.3常对象1.4常成员函数1.5常数组1.6常指针2.字符串1、函数名: strcpy2、函数名: strncpy3、函数名: strcat4、函数名: strncat5、函数名: strchr6、函数名: strcmp7、函数名: strlen8、函数名: strstr9、函数名: strpbrk10、函数名:strspn11、函数名 : strt...
2019-07-26 19:04:52
1325
原创 【C++】二、指针数组与数组指针
文章目录1.指针数组1.1简介1.2应用2.数组指针2.1简介2.2应用3.数组名称和数组指针的区别4.多维数组的标识5.参考1.指针数组1.1简介指针的数组,是一个数组,里面的每一个元素都是指针,在32位系统中,指针占四个字节。 //arr[4]是一个定义的数组。把它对应到对应到内存中,arr是一个在栈区,有四个元素的数组 //而每一个元素又是一个指针,所以说它的四个元素各占四个字...
2019-07-26 19:03:04
235
原创 【C++】一、指针与引用
文章目录前言1.事例代码1.1 指针1.2 二级指针1.3 引用1.4 值交换2.指针与引用的区别前言作者本是java出生,对C++的理解还停留在大学的基础阶段,而今年打算考研,于是对知识进行一个整理归纳。读本篇文章需要一定的基础,如无基础则先参考看别人写的这两篇做个入门C++指针与引用二级指针学习C++最让人头疼的指针、二级指针、引用是什么魔鬼啊?而要理解这几个概念,一定要了解内...
2019-07-14 22:52:38
397
原创 spring事务上的坑(90%的程序员不知道)
spring事务上的坑1.前言近期有位同事看了我的定时器代码,提醒我一个隐藏bug——spring事务在方法内调用事务,事务无法生效!于是我开始测试与整理spring事务中可能遇到的坑2.问题复现如下代码,在类内部调用事务是不会生效的,因为没有走类代理!事务是切在类上,只有通过调用 类.方法才会走spring的事务管理!@Componentpublic class Ti...
2019-05-26 22:58:49
1189
原创 java程序异常退出排查
文章目录1.前言2.原因分析3.如何解决4.其他弯路5.参考1.前言由于公司线上的一个服务近期一直异常退出,按照往常经验,内存溢出!启动参数加个打印内存溢出时配置,然后坐等下一次内存溢出出现,再分析一下hprof 具体请 点击查看 添加配置信息 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/webser/logs/error.hpr...
2019-04-20 10:05:38
7536
3
原创 [爬虫与反爬虫] 用 Python 分析 20 万场吃鸡数据
文章目录前言爬虫攻防实现前言在充斥着互联网的时代,凡是你眼睛可以看见的网页,就可以肆无忌惮的盘它。如:用 Python 分析 20 万场吃鸡数据 得出0杀吃鸡堪比10杀!官方说法定义它为是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,即网络爬虫。而写这篇文章的目的在于对目前所学的一个总结。爬虫在了解爬虫之前需要知道tcp/iphttp协议抓包工具的使用:fiddle...
2019-03-23 00:31:42
592
原创 线程池的应用-ChromeDriver自动化引发的思考
线程池的应用-ChromeDriver自动化引发的思考文章目录线程池的应用-ChromeDriver自动化引发的思考1.前言2.设计与实现3.总结1.前言在ChromeDriver自动化开发过程中,左耳碰到了一个问题,就是ChromeDriver驱动是比较消耗资源的存在,所以要对它进行管制,正好左耳了解线程池的机制,其作用就是节约资源,避免不必要的创建与销毁开销,而ChromeDriver不...
2019-02-15 18:21:03
2420
原创 【2018总结】一杯敬过往 一杯敬未来
文章目录1.前言2.工作3.技术3.1 学习方向3.2 博客开源3.3 书籍推荐5.生活5.1 情感5.2 身体5.3 穿着5.4 烹饪6.金融7.总结1.前言对于程序猿来说,工作第3年、5年、7年都是瓶颈期(阿里的p等级跟此也有关系),左耳(作者昵称)就在3年这个阶段,于是乎,在提早知道瓶颈期,就相应在2017年作出准备,因此2018对于左耳是技术提升最多的一年。(为什么前两年提升的不多呢,...
2019-01-23 21:51:20
2222
6
转载 【深入理解JVM虚拟机】第7章 虚拟机类的加载机制
文章目录7.1 概述7.2 类的加载时机7.3 类的加载过程7.3.1 加载7.3.2 验证7.3.3 准备7.3.4 解析7.3.5 初始化7.4 类加载器7.4.1 类和类加载器7.4.2 双亲委派模型7.4.3 破坏双亲委派模型7.1 概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是__虚拟机的类...
2019-01-03 14:41:56
319
转载 【深入理解JVM虚拟机】第6章 类文件结构
文章目录6.1 概述6.2 无关性的基石6.3 Class类文件的结构6.3.1 魔数与Class文件的版本6.3.2 常量池6.3.3 访问标志6.3.4 类索引、父类索引、接口索引集合6.3.5 字段表集合6.3.6 方法表集合6.3.7 属性表集合6.3.7.1 Code属性6.3.7.2 Exceptions属性6.3.7.3 LineNumberTable属性6.3.7.4 LocalV...
2019-01-03 14:40:46
504
原创 linux常用命令
文章目录linux基础tailvitopfreeiostatpsdf/dunetstatscp脚本执行免密登录jdk定位彻底卸载(以mysql为例)其他常见问题javavmstatjstackjpsjmapjstatlinux基础cp -r file1 file 2cp -r gtm-server/ ../gtm-serversudo chown -R tomcat:tomcat ....
2018-12-18 22:46:56
304
转载 Elasticsearch-基础介绍及索引原理分析
最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计查询的方案设计工作,花了些时间学习Elasticsearch的基础理论知识,整理了一下,希望能对Elasticsearch感兴趣/想了解的同学有所帮助。 同时也希望有发现内容不正确或者有疑问的地方,望指明,一起探讨,学习,进步。介绍Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎....
2018-12-08 23:56:05
315
原创 【java基础】集合框架总结
文章目录前言ArrayList 和 LinkedList 的区别ArrayList 和 Vector 的区别HashMapHashMap 和 Hashtable 的区别HashSet 和 HashMap 的区别ConcurrentHashMap前言这几道Java集合框架面试题几乎必问ArrayList 和 LinkedList 的区别ArrayList增删的时候在扩容的时候慢,通过索引...
2018-12-03 00:29:47
482
原创 【java基础】多线程总结
文章目录前言1.你怎么理解多线程?是什么为什么存在如何实现存在的问题怎么解决[2.线程同步](https://fangjian0423.github.io/2016/04/18/java-synchronize-way/)锁wait/ConditionThreadLocalSemaphore同步工具包AbstractQueuedSynchronizer[3.线程通信](https://www.yu...
2018-12-01 23:53:44
432
转载 JVM内存模型、指令重排、内存屏障概念解析
在高并发模型中,无是面对物理机SMP系统模型,还是面对像JVM的虚拟机多线程并发内存模型,指令重排(编译器、运行时)和内存屏障都是非常重要的概念,因此,搞清楚这些概念和原理很重要。否则,你很难搞清楚哪些操作是在并发先绝对安全的?哪些是相对安全的?哪些并发同步手段性能最低?valotile的二层语义分别是什么?等等。原文地址:http://tech.meituan.com/java-memory-...
2018-11-28 00:00:50
1352
原创 图解阻塞io和非阻塞io及多路复用机制
文章目录IOTCP通信阻塞IO非阻塞IOIO多路复用IO即Input Stream与Output StreamTCP通信在介绍IO之前我们首先我们先了解一下TCP协议,对于TCP通信来说,每个TCP的scoket内核里面都有一个接受与发送缓冲区。数据在应用层的send()通过数据复制进入到scoket内核的TCP发送缓冲区,发送端与接收端的scoket之间进行通讯(传输层),接收端接收...
2018-11-25 10:32:25
4987
2
转载 【深入理解JVM虚拟机】第4章 虚拟机性能监控与故障处理工具
文章目录4.1.JDK命令行工具4.1.1 jps:虚拟机进程状况工具4.1.2 jstat:虚拟机统计信息监视工具4.1.3 jinfo:Java配置信息工具4.1.4 jmap:java内存映像工具4.1.5 jhat:虚拟机堆转存储快照分析工具4.1.6 jstack:Java堆栈跟踪工具4.1.7 HSDIS:JIT生成代码反汇编4.2.JDK的可视化工具4.2.1 JConsole:Ja...
2018-11-24 21:11:35
917
1
转载 性能优化-tomcat
文章目录1.tomcat架构1.1 目录结构1.1.1 conf 目录1.1.2 lib 目录1.1.3 logs 目录1.1.4 webapps 目录1.2 I/O 连接器1.3 问题问题1:连接器里面的线程池 是用的哪个线程池问题2:JNDI 能不能稍微说下2.tomcat内嵌2.1 Web 自动装配2.1.1 API 角度分析2.1.2 容器角度分析2.1.3 jar 应用启动2.2 Tom...
2018-11-24 21:05:52
528
原创 性能优化-mysql
1.认识mysql1.1 架构图1.1.1 简介大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。而存储引擎层负责数据的存储和提取。其架构模式是插...
2018-11-19 23:12:33
500
原创 性能优化-jvm
文章目录1.JVM介绍1.1 简介1.2 JVM内存区域分析1.2.1 程序计数器1.2.2 虚拟机栈1.2.3 本地方法栈1.2.4 方法区1.2.5 堆1.3 堆配置解析1.3.1 基本配置1.3.2 其他配置1.4 对象分配2.垃圾回收2.1 什么样的对象被GC2.1.1 判断算法2.1.2 引用2.1.3 问题2.2 回收算法2.2.1 算法2.2.2 垃圾收集器2.2.3 回收的时间节点...
2018-10-28 16:27:53
696
原创 【深入理解JVM虚拟机】第3章 垃圾收集器与内存分配策略
文章目录3.1 概述3.2 对象已死?3.2.1 引用计数算法3.2.2 根搜索算法3.2.3 再谈引用3.2.4 生存还是死亡?3.2.5 回收方法区3.3 垃圾收集算法3.3.1 标记-清除算法3.3.2 复制算法3.3.3 标记-整理算法3.3.4 分代收集算法3.4 垃圾收集器3.4.1 Serial 收集器3.4.2 ParNew 收集器3.4.3 Parallel Scavenge3....
2018-10-20 21:10:32
482
原创 【深入理解JVM虚拟机】第2章 java内存区域与内存溢出异常
文章目录2.1 概述2.2 Java运行时数据区2.2.1 程序计数器2.2.2 虚拟机栈2.2.3 本地方法栈2.2.4 Java堆2.2.5 方法区2.2.6 运行时常量池2.2.7 直接内存2.3 对象访问2.4 实战:OutOfMemoryError异常2.4.1 Java堆溢出2.4.2 虚拟机栈和本地方法栈溢出2.4.3 运行时常量池溢出2.4.4 方法区溢出2.4.5 本机直接内存溢...
2018-10-20 21:08:46
620
原创 【深入理解JVM虚拟机】第1章 走进java
文章目录1.1Java技术体系1.1.1 Java API1.1.2 JDK1.1.3 JRE1.2 Java发展史1.3 Java虚拟机发展史1.3.1 Sun Classic VM1.3.2 Exact VM1.3.3 Sun HotSpot VM1.3.4 BEA JRockit1.3.5 IBM J9 VM1.4 Java技术的趋势1.5 编译自己的JDK1.1Java技术体系Sun ...
2018-10-20 21:06:18
418
原创 【分布式基础】7.cap原则与base理论
文章目录1.CAP原则2.BASE理论3.为什么不能同时满足CAP原则3.1cap定义3.2证明例子1.CAP原则C:一致性(Consistency): 所有节点上的数据,时刻保持一致A:可用性(Availability):每个请求都能够收到一个响应,无论响应成功或者失败P:分区容错 (Partition-tolerance):表示系统出现脑裂以后,可能导致某些server与集群中的其他机...
2018-10-20 20:20:58
559
原创 ActiveMQ高级
文章目录1.ActiveMQ结合spring开发1.1添加jar依赖1.2生产者配置1.2.1 service-jms-provider.xml1.2.2编写发送端代码1.3 消费者配置1.3.1 service-jms-consumer.xml1.3.2 编写接收端代码1.4 spring的发布订阅模式配置1.5 以事件通知方式来配置消费者1.5.1 更改消费端的配置1.5.2 增加FirstM...
2018-10-14 21:53:01
377
原创 ActiveMQ基础
文章目录1.安装ActiveMQ2.JMS2.1简介2.2开源的JMS提供商2.3什么是MOM3.消息传递域3.1点对点(p2p)3.2发布订阅(pub/sub)3.3Broker4.JMS API5.消息组成消息头消息体属性6.JMS的可靠性机制6.1事务性会话6.2非事务性会话6.2.1 AUTO\_ACKNOWLEDGE6.2.2 CLIENT\_ACKNOWLEDGE6.2.3 DUPS\...
2018-10-14 21:51:14
1347
原创 redis高级
1.redis持久化机制redis提供了两种持久化策略1.1RDBRDB的持久化策略: 按照规则定时把内存的数据同步到磁盘 redis/bin/dump.rdbsnapshotredis在指定的情况下会触发快照1)自己配置的快照规则save <seconds> <changes>save 900 1 当在900秒内被更改的key的数量大于1的时候,就执行快...
2018-10-13 19:55:20
548
原创 redis中使用lua脚本
1.lua脚本1.1 简介Lua是一个高效的轻量级脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能1.2 使用脚本的好处1. 减少网络开销,在Lua脚本中可以把多个命令放在同一个脚本中运行2. 原子操作,redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。换句话说,编写脚本的过程中无需担...
2018-10-13 19:52:42
1707
人力资源管理系统
2015-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人