spring bean的生命周期 一、bean的生命周期:指的是bean的创建、初始化、销毁的过程容器管理bean的生命周期我们可以自定义初始化和销毁方法,容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法二、对象创建、初始化、销毁的时机:对象创建:单实例:在容器启动的时候创建对象多实例:在每次获取的时候创建对象初始化:对象创建完成,并赋值好,调用初始...
react 路由使用react-router-dom react 路由使用react-router-dom react 路由使用react-router-domreact 和vue一样都是使用封装history 来进行页面跳转,下面就来说一下react常用的路由插件react-router-dom这个...
react-router HashRouter和BrowserHistory的区别 react-router HashRouter和BrowserHistory的区别 react-router HashRouter和BrowserHistory的区别, 以及配置、使用, Link跳转传参等等I. 区别我...
react 中的 三大重要属性state refs props react 中的 三大重要属性state refs props React中 的三大属性还是挺重要的呢那今天我们就来说一下 这React中的三大属性叭!分别是 state refs propsNo.1 : statestate 它的...
模块化 require.js 入门教学(前端必看系列) 模块化 require.js 入门教学(前端必看系列) 在工作的时候总是会用到模块化开发,那接下来我就顺着这个问题来说一下什么是模块化前端模块化 !!!JS 模块化提供给我们三种规范分别就是No.1commonjs 这个其实...
Vuex 入门级 神作 Vuex 入门级 神作 Vuex 是什么????如果用官方的话说,是以下这段:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到...
在Vue中如何快速实现小球动画 在Vue中如何快速实现小球动画 1. 在自己的页面中有做好相应的测试位置2. 然后给小球添加属性 v-show并且添加相应的数据(false)3.点击购物车 让 false = true;4.然后到重点了; 用 transition的标签 把要运...
Python-生成音乐-pyshnth Pyshnth音乐生成模块乐理声音:物体振动产生,振动次数越多,音越高;振动次数越少,音越低可闻:人耳可以听到的声音在每秒16-2000此左右乐音:振动规则产生,听起来高低明显噪音:振动不规则产生,听起来高低不明显音乐:将声音通过艺术形象表达人们的思想感情音阶:do、re、mi、sol、la、(do)调性:C、D、E、F、G、A、B安装pip install...
LeetCode_1114.按顺序打印(多线程) LeetCode_1114LeetCode-1114.按顺序打印我们提供了一个类:public class Foo { public void one() { print("one"); } public void two() { print("two"); } public void three() { print("three"); }}三个不同...
LeetCode_1116.打印零与奇偶数(多线程) LeetCode_1116LeetCode-1116.打印零与奇偶数假设有这么一个类:class ZeroEvenOdd { public ZeroEvenOdd(int n) { ... } // 构造函数 public void zero(printNumber) { ... } // 仅打印出 0 public void even(printNum...
LeetCode_21.合并两个有序链表 LeetCode_21LeetCode-21.合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4示例代码:/** * Definition for singly-linked...
VIM 复制:yyyy 复制一行16,24copy24 复制16到24行,粘贴到24后面粘贴:p转载于:https://www.cnblogs.com/heiyizixia/p/11564048.html
Emacs:十六进制模式下跳转到特定地址 造冰箱的大熊猫@cnblogs 2019/9/18Emacs提供的十六进制模式(M-x hexl-mode)以十六进制格式显示文件内容,对于分析图像等二进制数据文件非常方便。在此模式下,我们可以使用M-g跳转到指定的地址/偏移址。转载于:https://www.cnblogs.com/pandabang/p/11538487.html...
Win 7 x64 + Visual Studio 2015为WinXP编译可执行程序 造冰箱的大熊猫@cnblogs 2019/9/5本文承接《Win7下使用Visual Studio为WinXP编译可执行文件》一文。- 在64位Win7(开发机)上,编写基于C的Win32控制台程序,将其编译可在WinXP(目标机)下运行的可执行文件(exe)。- 在开发机上安装Visual Studio 2015。- 使用Visual Studio创建Win...
Ubuntu下dpkg安装软件遇到包依赖问题的处理方法 造冰箱的大熊猫@cnblogs 2019/9/10向灵魂工程师致敬!在Ubuntu环境下通过dpkg命令安装deb包时,如果遇到包依赖问题,如$sudo dpkg -i xxx.deb (Reading database ... 227173 files and directories currently installed.)Preparing to...
Linux下的电路设计辅助软件 造冰箱的大熊猫@cnblogs 2019/8/21最近调研了以下开源的电路设计辅助软件(EDA),汇总如下1、gEDA官网:geda-project.org老牌的开源EDA软件,诞生于上世纪90年代末,具备原理图绘制、电路板绘制、光绘文件浏览、电路仿真(SPICE)等功能。最新稳定版本:1.8.2(2013年9月发布)2、KiCad官网...
Visual Studio Code:以十六进制格式显示文件内容 造冰箱的大熊猫@cnblogs 2019/9/4发现Visual Studio Code很好用,无论是作为源代码编辑器还是文本编辑器在Win平台下用的都很不错。但有时候需要以十六进制格式查看数据文件的内容,使用VSCode打开这种文件时,提示“is binary or use an unsupported text encoding”。怎样以十六进制格式显示文件呢,有开发者在V...
Visual Studio Code:使用技巧汇总 造冰箱的大熊猫@cnblogs 2019/8/9(最后更新2019/8/11)试用了下微软出的Visual Studio Code,哎呀,有点小惊喜将VSC的快捷键小结一下,不定期更新功能快捷键反操作快捷键跳到指定行号Ctrl+g跳到函数、变量声明Ctrl+Shif...
KiCad:Cursor Ghosting 造冰箱的大熊猫@cnblogs 2019/8/11装下KiCad学习下,结果鼠标在界面上划过时,留下一串鼠标残影,原来英文管这个叫“cursor ghosting”。解决方法:依旧粗暴简单,从官网下载安装KiCad,不要使用Ubuntu源安装。鼠标残影的原因嘛,据说是Ubuntu源里的版本打包不对所致。转载于:https://www.cnblogs.com/p...
Win7下使用Visual Studio为WinXP编译可执行文件 造冰箱的大熊猫@cnblogs 2019/8/52019/9/5补充:参见这里1、问题开发机是64位Win7,想开发能够运行在WinXP下的C程序,怎么办?2、解决方法一个简单粗暴的解决办法是:1)开发机(64位Win7)上安装Visual Studio 2015。2)使用VS2015创建工程,编写源代码。在工程属性中,选择工具集为v140_...
printf:函数参数计算从右向左,从左向右? 造冰箱的大熊猫@cnblogs 2019/8/31、问题某天写了如下代码:unsigned char ReadByteFromFile ( FILE * fp ){ unsigned char ch; ... fread ( &ch, 1, 1, fp ); ... return ch;} void main(...
Word:自动编号超过9后缩进太大 造冰箱的大熊猫,本文适用于Microsoft Office 2007@cnblogs 2019/7/30文中图片可通过点击鼠标右键查看大图1、场景如下图所示,使用Word的自动编号功能时,当编号从10开始自动缩进太大,显得与编号1~9很不协调。这个问题怎么破?2、解决方法在自动编号项上点击鼠标右键,选择“调整列表缩进”,启动调整列表缩进对话框。在对话框“列...
diff:二进制文件内容差异比较 在Ubuntu 18.04下验证,造冰箱的大熊猫@cnblogs 2019/7/29假设我们需要以二进制格式比较两个文件file1.bin和file2.bin的差异,一个简单的方法是1)先使用xxd命令将bin文件转换为可读格式(hex文件,实际上就是用printf("%02x")将二进制文件按字节打印为可读数据)2)再使用diff命令比较步骤1的结果,该命令会打印出两...
2019ACM/ICPC 亚洲区域赛安排 第44届ICPC国际大学生程序设计竞赛亚洲区域赛(南京)网络赛https://icpcnj.qinmaye.top/网络赛注册资料https://www.lanzous.com/i5o36oh南昌,银川赛区网络赛账号申请8月27号截止,已进行申请账号的可查阅:http://106.12.138.215:8080/icpc/index.jsp2019南昌,银川账号申请...
常用OJ 与算法书籍 算法图论数论计算几何数据结构动态规划贪心打表 排序常用算法书籍组合数学具体数学算法图解算法导论(原书第三版)算法竞赛进阶指南 (李煜东)算法竞赛入门经典(第二版)刘汝佳算法竞赛入门经典训练指南 (刘汝佳)信息学奥赛一本通挑战程序设计竞赛(第二版)(此书有多位竞赛圈大佬推荐)编程珠玑(第二版)算法(第四版)[Algorithms Four...
大数据常用启动命令 一、大数据集群:1、zookeeper集群操作:启动:bin/zkServer.sh start 【依次在hadoop102、hadoop103、hadoop104节点上启动zookeeper】关闭:bin/zkServer.sh stop查看状态:bin/zkServer.sh status服务端口号:21812、Kafka集群操作(需先启动zooke...
秒杀系统分析 一、秒杀核心业务分析应用:商品抢购、优惠券的领取技术难点:短时高并发、负载压力大读多写少竞争资源有限,不能多买,不能少买,不能重买重要点:修改库存二、关于锁的那些事:1、悲观锁:在数据处理过程中,将数据处于锁定状态【依靠数据库提供的锁机制】使用场景:写多读少,保证数据安全2、乐观锁:在数据提交更新是,才会正式对数据的冲突与否进行检...
java面试-JVM内存结构 一、JVM内存结构二、类加载(classLoader)机制java中的ClassLoader详解java类加载机制面试题java类加载机制面试题虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的java类型。将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一...
推荐系统简介 一、推荐系统的目的让用户更快更好的获取到自己需要的内容让内容更快更好的推送到喜欢它的用户手中让网站(平台)更有效的保留用户资源二、推荐系统的基本思想利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品。利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品。利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他...
推荐算法-基于内容的推荐 根据推荐物品的元数据发现物品的相关性,再基于用户过去的喜好记录,为用户推荐相似的物品。一、特征提取:抽取出来的对结果预测有用的信息对物品的特征提取-打标签(tag)用户自定义标签(UGC)隐语义模型(LFG)专家标签(PGC)对文本信息的特征提取-关键词分词、语义处理和情感分析(NLP)潜在语义分析(LSA)二、特征工程:使用专业背景知...
推荐算法-基于模型的协同过滤 模型的建立相当于从行为数据中提取特征,给用户和物品同时打上“标签”有显性特征时,我们可以直接匹配做出推荐没有时,可以根据已有的偏好数据,去发掘出隐藏的特征,这需要用到隐语义模型(LFM)一、隐语义模型(LFM Latent Factor Mode)基于样本的用户偏好信息,训练一个推荐模型,然后根据实时的用户喜好信息进行预测新物品的得分,计算推荐目标:揭示隐藏特征【...
监督学习之模型评估与选择 一、定义:监督学习主要包括分类和回归当输出被限制为有限的一组值(离散数值)时使用分类算法当输出可以具有范围内的任何树值(连续数值)时使用回归算法相似度学习是和回归和分类都密切相关的一类监督学习,它的目的是使用相似函数从样本中学习,这个函数可以度量两个对象之间的相似度或关联度二、监督学习三要素模型:总结数据的内在规律,用数据函数描述的系统策略:选取最优模型...
常见的限流算法 限流:通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理1、计数法(固定时间窗口限流算法):选定一个时间的起点,之后每当有接口请求到来,我们就将计数器加1,如果在当前时间窗口内,根据限流规则(每秒钟允许100次访问请求),出现累加访问次数超过限流值情况,我们请拒绝后续访问请求。当进入下一个时间窗口后,...
redis常用数据类型对应的数据结构 redis的数据类型都是通过多种数据结构来实现,主要是出于时间和空间的考虑,当数据量小的时候通过数组下标访问最快,占用内存最小【压缩列表是数组的变种,允许存储的数据大小不同】因为数组需要占用连续的内存空间,所以当数据量大的时候,就需要使用链表,同时为了保证速度又需要和数组结合,也就有了散列表。1、字符串2、列表(list):支持存储一组数据,这种数据类型对应两种实现方法,一种...
java面试-内存分配与回收策略 1、对象优先在Eden分配-Xms20M -Xmx20M java堆的大小20M-Xmn10M 新生代10M 老年代10M-XX:SurvivorRatio=8 新生代Eden与一个Survivor区的空间比例8:1/** * -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRat...
java面试-synchronized底层实现机制 一、synchronized的三种应用方式1、修饰实例方法,锁是当前实例对象,进入同步代码前要获得当前实例的锁/** * synchronized修饰实例方法,当前线程的锁是实例对象accountingSync * 当一个线程正在访问一个对象的synchronized实例方法,那么其他线程不能访问该对象的其他synchronized方法 * 一个对象只有一把锁...
java面试-对象的创建、内存布局、访问定位 一、对象的创建1、虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。2、虚拟机将为新生对象分配内存指针碰撞:Java堆中内存是绝对规整的,所有用过的内存都放在一边,空闲的内存放在另一边,中间放着一个指针作为分界点的指示器,那所分配内...
推荐算法-欧几里得距离 一、欧几里得距离用来记录两个向量之间的距离。欧氏距离越小,两个用户相似度就越大,欧氏距离越大,两个用户相似度就越小。二维空间的公式:其中,为点与点之间的欧氏距离;为点到原点的欧氏距离。三维空间的公式:n维空间的公式:二、闵可夫斯基距离当p=1时,即为曼哈顿距离;当p=2时,即为欧几里得距离当时,即为切比雪夫距离...
MySQL事务 一、什么是事务?事务保证一组数据库操作,要么全部成功,要么全部失败,MYSQL事务支持是在引擎层实现。二、哪些存储引擎支持事务?三、如何开启/结束事务?start transaction with consistent snapshot; #马上启动一个事务begin transaction;start transaction; 四、事务的四大...
推荐算法-余弦相似度 一、余弦相似度:余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"二维向量的余弦相似度:多维向量的余弦相似度(类比)协同过滤(Collaborative Filtering, 简称 CF):收集用户行为减噪与归一化处理减噪:用户行为数据是用户在使用应用过程中产生的,它可能存在大量的噪音和用户的误操作,...
spring组件注册 一、@Bean默认为单实例,给容器中注册一个bean,类型为返回值的类型,id默认是方法名作为id单实例bean:默认在容器启动时创建对象1、 @Lazy:针对单实例bean,容器启动不创建对象,第一次获取bean创建对象,并进行初始化。@Configurationpublic class MainConfig { //给容器中注意一个bean,类型...
MySQL总结 1、MySQL经典面试题2、MySQL经典面试题3、Redis经典面试题4、Redis经典面试题5、java面试问题转载于:https://www.cnblogs.com/wjh123/p/11391262.html
redis的事务 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞。1、redis事务命令:multi:标记一个事务块的开始exec:执行所有事务块内的命令discard:取消事务,放弃执行事务块内的所有命令unwatch:取消watch命令对所有事务块的监视watch:监视一个或多个key,如果事...
MySQL-一条sql语句的执行顺序 手写:SELECT DISTINCT <select_list>FROM <left_table> <join_type> JOIN <right_table> ON <join_condition>WHERE <where_condition>GROUP BY <group_by_...
redis安装、配置、启动 一、redis默认安装位置:/usr/local/binredis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何,服务启动起来后执行redis-check-aof:修复有问题的AOF文件redis-check-dump:修复有问题的dump.rdb文件redis-cli:客户端,操作入口redis-sentinel:redis集群使用redis-serv...
redis的主从复制(哨兵模式) Master以写为主,Slave以读为主读写分离容灾恢复一、一主多从配置文件修改:############ GENERAL #############pidfile /var/run/redis6380.pidport 6380logfile "6380.log"dbfilename dump6380.rdb主从命令:...
MySQL-索引优化分析 一、慢查询日志(默认没有开启)MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阈值的语句。如果不是调优需要,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响,慢查询日志支持将日志记录写入文件。show variables like '%slow_query_log%' #查看是否开启慢查询日志,默认禁用...
redis的持久化 持久化主要是系统故障后做数据恢复。一、RDB(Redis Database)在指定的时间间隔内将内存中的数据集快照写入磁盘,它恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程不进行任何IO操作,这就确保了极高的性能。如果...
MySQL锁机制 一、锁的分类对数据操作的类型:读锁(共享锁)、写锁(排它锁)对数据操作对粒度:表锁、行锁lock table mylock read,tbl_dept write; #手动增加表锁show open tables; #查看表上加过的锁unlock tables; #解锁 show status like 'table%'; #分析系统表锁定#Tabl...
MySQL-索引简介 一、索引是什么?索引是本质是一种数据结构,索引的目的在于提高查询效率。【排好序的快速查找的数据结构】每个节点包含索引键值和一个指向对应数据记录物理地址的指针。索引往往以索引文件的形式存储在磁盘。二、索引的优缺点:优势:提高数据检索的效率,降低数据库的IO成本通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗缺点:索引提高了查询效率,但是同时...
spring自动装配 Spring利用依赖注入(DI),完成对IOC容器中中各个组件的依赖关系赋值;一、@Autowired:自动注入:默认优先按照类型去容器中找对应的组件:applicationContext.getBean(BookDao.class);找到就赋值如果找到多个相同类型的组件,再将属性的名称作为组件的id去容器中查找applicationContext.getBean("bo...
01-MySQL Linux安装 一、检查当前系统是否安装过mysqlrpm -qa|grep mysql或 ps -ef|grep mysql二、安装mysql服务端rpm -ivh MySQL-server-5.5.48-1.linux2.6.i386.rpm CentOS07安装MySQL错误:依赖检测失败CentOS安装mysql*.rpm提示conflicts wit...
JVMGC+Spring Boot生产部署和调参优化 一、微服务开发完成,IDEA进行maven clean和package出现BUILD SUCCESS说明打包成功二、要求微服务启动时,配置JVM GC调优参数java -jar spring-spock-demo-0.0.1-SNAPSHOT.jar --直接启动,不带参数java -server -Xms1024m -Xmx1024m -XX:+Us...
java面试-G1垃圾收集器 一、以前收集器的特点年轻代和老年代是各自独立且连续的内存块年轻代收集器使用 eden + S0 + S1 进行复制算法老年代收集必须扫描整个老年代区域都是以尽可能的少而快速地执行 GC 为设计原则二、G1 是什么G1 是一种面向服务端的垃圾收集器,应用在多核处理器和大容量内存环境中,在实现高吞吐量的同时,尽可能的满足垃圾收集器的暂停时间要求。像 C...
java面试-生产环境出现CPU占用过高,谈谈你的分析思路和定位 思路:结合Linux和JDK命令一起分析1、用top命令找出CPU占比最高的进程2、ps -ef|grep java|grep -v grep 或者jps -l进一步定位,得知是怎样一个后台程序惹事3、定位到具体线程:ps -mp 进程编号 -o THREAD,tid,timeps -mp 4618 -o THREAD,tid,time-m:显示所...
java面试-垃圾回收器谈谈你的理解 一、垃圾回收算法:引用计数复制算法标记-清除标记-整理二、垃圾回收的方式:串行(Serial)、并行(Parallel)、并发(CMS)、G11、串行垃圾回收器(Serial)它为单线程环境设计且只使用一个线程进行垃圾回收,会暂停所有的用户线程,所以不适合服务器环境。2、并行垃圾回收器(Parallel)多个垃圾收集线程并行工作...
java面试-谈谈你对OOM的理解 1、java.lang.StackOverflowError在一个函数中调用自己就会产生这样的错误(栈溢出)发生区域:java虚拟机栈或本地方法栈public class StackOverFlowErrorDemo { public static void main(String[] args) { stackOverFlowErro...
java面试-强引用、软引用、弱引用和幻象引用有什么区别 在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为4类。不同的引用类型,主要体现的是对象不同的可达性状态和对垃圾收集的影响。1 、强引用我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。当JVM内存空间不足,JVM宁...
java面试-阻塞队列 一、阻塞队列当阻塞队列是空,从队列中获取元素的操作会被阻塞当阻塞队列是满,往队列中添加元素的操作会被阻塞二、为什么用,有什么好处?我们不需要关心什么时候需要阻塞线程,什么时候需要唤醒线程,因为这一切阻塞队列都包办了。三、常见的阻塞队列ArrayBlockingQueue由数组构成的有界阻塞队列.LinkedBlockingQueue由链表构成的有界阻塞队列(默...
java面试-JVM常用的基本配置参数有哪些? 1、-Xms初始大小内存,默认为物理内存 1/64,等价于 -XX:InitialHeapSize2、-Xmx最大分配内存,默认为物理内存的 1/4,等价于 -XX:MaxHeapSize3、-Xss设置单个线程栈的大小,一般默认为 512-1024k,等价于 -XX:ThreadStackSize4、-Xmn设置年轻代的大小...
java面试-synchronized与lock有什么区别? 1、原始构成:synchronized是关键字,属于JVM层面,底层是由一对monitorenter和monitorexit指令实现的。ReentrantLock是一个具体类,是API层面的锁。2、使用方法:synchronized不需要用户手动释放锁,当synchronized代码块执行完成后,系统会自动让线程释放对锁的占用ReentrantLock需要用户手动...
java面试-什么是GC root 一、什么是垃圾内存中已经不再被使用到的空间就是垃圾二、要进行垃圾回收,如何判断一个对象是否可以被回收?引用计数法 很难解决对象之间的循环引用问题枚举根节点做可达性分析 通过一系列名为“GC Roots”的对象作为起始点,从“GC Roots”对象开始向下搜索,如果一个对象到“GC Roots”没有任何引用链相连,说明此对...
java面试-CountDownLatch、CyclicBarrier、Semaphore谈谈你的理解 一、CountDownLatch主要用来解决一个线程等待多个线程的场景,计数器不能循环利用public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedException { CountDownLatch countDow...
java面试-公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解 一、公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解公平锁:多个线程按照申请的顺序来获取锁。非公平锁:多个线程获取锁的先后顺序与申请锁的顺序无关。【ReentrantLock 默认非公平、synchronized】总结:非公平锁的吞吐量比公平锁大。可重入锁(又名递归锁):线程可以进入任何一个它已经获取锁的同步代码块中。可重入锁的最大作用:避免死锁自旋转:是指...
redis的过期策略和内存淘汰机制 一、redis的过期策略和内存淘汰机制1、定期删除+惰性删除定期删除:指的是redis默认是每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除惰性删除:在你获取某个key的时候,redis会检查一下 ,这个key如果设置了过期时间那么是否过期了,如果过期了此时就会删除,不会给你返回任何东西2、如果大量过期key堆积在内存里,导致redis...
java.net.BindException: Problem binding to [hadoop103:8031] java.net.BindException ResourceManger启动失败,Namenode启动成功,这个问题排查了好久在hadoop-2.7.6/logs/yarn-root-resourcemanager-hadoop102.log下查看日志 报错是java.net.BindException: 无法指定被请求的地址。 解决方式:如果在完全分布式部署,Namenode和ResourceMange...
java面试-线程池使用过吗,谈谈对ThreadPoolExector的理解 一、架构说明:二、为什么使用线程池,优势是什么?线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,那么超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。特点:线程复用、控制最大并发数量、管理线程优点:降低资源消耗。通过重复利用已创建的线程来降低线程创建和销毁造成的...
02-MySQL主要配置文件 一、二进制日志log-bin作用:主从复制二、错误日志 log-err默认关闭,记录严重的警告和错误信息,每次启动和关闭的详细信息三、慢查询日志log默认关闭,记录查询的sql语句,如果开启会降低sql的整体性能,因为记录日志也是需要消耗系统资源。四、数据文件frm文件:存放表结构myd:存放表数据myi:存放表索引五、l...
redis的线程模型 一、单进程模型来处理客户端的请求Redis 基于 Reactor 模式开发了自己的网络事件处理器: 这个处理器被称为文件事件处理器(file event handler):文件事件处理器是单线程的,使用 I/O 多路复用程序来同时监听多个套接字, 并根据套接字目前执行的任务来为套接字关联不同的事件处理器。当被监听的套接字准备好执行连接应答(accept)、读取(read)...
java面试-集合类不安全问题及解决方案 一、List1、代码演示public class ArrayListNotSafeDemo { public static void main(String[] args) { List<String> list = new ArrayList<>(); for (int i = 1; i <= ...
redis的发布订阅 简单说明:一般不使用。进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。订阅:subscribe c1 c2 c3 发布:publish c2 hello-redis 转载于:https://www.cnblogs.com/wjh123/p/11255139.html...
设计模式之命令模式 一、基本介绍在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时可以使用命令模式来设计。命令模式将一个请求封装成一个对象,以便使用不同的参数来表示不同的请求,支持命令的撤销和恢复功能。命令模式使得请求发送者和请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。...
设计模式之原型模式 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式的核心是clone方法,通过该方法进行对象的拷贝,java提供了一个Cloneable接口来标示这个对象是可拷贝的。Prototype原型类:声明一个克隆自己的接口ConcretePrototype具体的原型类:实现一个克隆自己的操作Client: 让一个原型对象克隆自己,从而创建一个新的对象...
设计模式之代理模式 为其他对象提供一种代理以控制对这个对象的访问。被代理的对象可以是:远程对象、创建开销大的对象、需要安全控制的对象Subject抽象主题角色:可以是抽象类也可以是接口RealSubject具体主题角色:是业务逻辑的具体执行者。Proxy代理角色:负责对真实角色的调用,把所有抽象主题类定义的方法委托给真实主题角色实现,并且在真实主题角色处理完毕前后做预处理和善后处理工作...
MySQL常用配置参数说明 1、sync_binlogsync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来做同步,或者cache满了之后才同步到磁盘。 这个是性能最好的,但是风险也是最大的。因为一旦系统Crash,在binlog_cache中的...
设计模式之工厂模式 将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目依赖关系的解耦。从而提高项目的扩展和维护性。一、简单工厂模式定义了一个创建对象的类,由这个类来封装实例化对象的行为代码。由一个工厂对象决定创建出哪一种产品类的实例。披萨项目需求:便于披萨种类的扩展,便于维护披萨的种类很多 比如 GreekPizza、CheesePizza、PepperPi...
设计模式之适配器模式 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。Target目标角色:定义把其他类转换为何种接口,也就是我们的期望接口Adaptee源角色:是已经存在的、运行良好的类或对象,经过适配器角色的包装,它会成为一个崭新、靓丽的角色。Adapter适配器角色:把源角色转换为目标角色。(通过继承或是类关联的方式...
MYSQL的主从复制 用途:1、故障切换 2、读写分离 3、备份一、一主一从常见配置:MYSQL主从复制配置参考要求:主机、从机在同一网段,且数据库版本相同1、主机配置:[mysqld]server-id = 1log-bin= mysql-bin建立账户并授权slave:CREATE USER 'replication'@'192.168.1.10...
redis-cluster redis-cluster:1、至少需要3个master,3个slave2、采用无中心结构,每个节点保存数据和整个集群状态,每个节点和其他所有节点连接3、所有的redis节点彼此互联,内部使用二进制协议优化传输速度和带宽4、节点的fail是通过集群中超过半数的节点检测失效时才生效5、客户端与redis节点直连,连接集群中任何一个节点即可6、redis-clus...
关于抽象类与接口的选择 如果准备为不相关的类创建一些提供共有功能的东西,请使用接口。抽象类允许你为子类提供默认功能。如果要为层次结构中密切相关的对象创建内容,请使用抽象类。如果基类经常更改并且使用了接口替代了抽象类,那么我们将遇到问题。一旦接口更改,所有实现该接口的类都将被破坏。如果你现在只在项目中使用它们,那么问题不大。然而一旦发布到客户端,这些接口就应该被锁定。否则那时你将破坏客户端的...
草稿-TANTAN 缓存与数据库数据一致性问题,可以先更新数据库之后解析数据库的BINLOG更新缓存 :博文:https://blog.csdn.net/striveb/article/details/95110502binlog解析工具:https://github.com/javartisan/open-replicatorMYSQL数据库的binlog格式:https://dev.my...
MYSQL-数据分片-分区等概念了解下 MYSQL-数据分片不是数据容错,而是根据规则将数据分布在不同分片之上转载于:https://www.cnblogs.com/leodaxin/p/11431432.html
Task 待学习内容【Moore majority vote algorithm(摩尔投票算法)】 https://www.cnblogs.com/zhonghuasong/p/6536665.html参见:https://my.oschina.net/u/2277632/blog/2873164转载于:https://www.cnblogs.com/leodaxin/p/11355590.html
MYSQL SQL_MODE 属性作用学习下 MYSQL SQL_MODE 属性作用学习下函数了解下:any_value转载于:https://www.cnblogs.com/leodaxin/p/11435135.html
压测工具 linux shell:ab 是Apache Bench缩写用于进行并发测试,更多参见手册转载于:https://www.cnblogs.com/leodaxin/p/11401399.html
SQL 字符串与数字等于比较与null的判断逻辑 对于MYSQL而言,select 1> '' 是true,mysql会将空字符串转成0进行处理。但是对于hive而言,任何数与''比较都是null。hive对字符串转int时候使用的是Int.parseInt因此对于转回失败的值返回null,因此与常见关系数据库查询不统一,需要格外注意!!!!!sku_cid3是int类型,sku_cid3!=null 永远都是n...
分别SAM与SA是什么,了解一下 了解一下https://www.cnblogs.com/ShichengXiao/p/10245374.html什么是SAM什么是SA (后缀数组)转载于:https://www.cnblogs.com/leodaxin/p/11386958.html
发现一个好的后台模板 xtreme admin Xtreme Admin Dashboard 是基于 bootstrap 4 的管理仪表板和控制管理面板。 Xtreme 是完全响应的 HTML 模板,基于 CSS 框架 Bootstrap 4 并基于模块化设计。它在设计中利用了所有 Bootstrap 组件,并重新设计了许多常用插件,以创建一致的设计,可用作后端应用程序的用户界面。Xtreme Admin Template 基于模块化...
kebernets常用命令-整理 1、deployment相关命令查看所有deployment:kubectl getdeployments查看指定命名空间的所有deployment:kubectl getdeployments --namespace=ns-testkubectl getdeployments -n ns-test查看指定deployment详细信息:kubectl d...
Python性能分析工具 import cProfileimport pstatsfrom flask import Flask,jsonify, request@app.route("/test", methods=['GET', 'POST'])def test(): pr = cProfile.Profile() pr.enable() # enable():...
Flask简单http接口实现 # flask demofrom flask import Flask, requestapp = Flask(__name__)# http://127.0.0.1:8080@app.route('/')def index(): return 'Hello World'# http://127.0.0.1:8080?p1=aa...
Java虚拟机性能监控-工具 Java虚拟机监控与调优,借助Java自带分析工具。jps:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程jstat:JVM Statistics Monitoring Tool,用于手机HotSpot虚拟机各方面的运行数据jinfo:Configuration Info for Java,显示虚拟机配置信息jmap:M...
安装apoc插件 APOC是Neo4j 3.3版本推出时推荐的一个Java存储过程包,包含丰富的函数和存储过程,作为对Cypher所不能提供的复杂图算法和数据操作功能的补充,APOC还具有使用灵活、高性能等优势。1、jar包地址:https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/3.4.0.7将apoc-3.4.0....
异步线程池 项目问题:Caused by: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@326c8e82 rejected from java.util.concurrent.ThreadPoolExecutor@6e5c35b6[Running, pool siz...
换手机号之前需要看看 换之前看看有那些账号没有解绑。 文章来源:外星人来地球 欢迎关注,有问题一起学习欢迎留言、评论转载于:https://www.cnblogs.com/lovebing/p/11571231.html...
layui跨域问题的解决 跨域问题的解决 由于浏览器存在同源策略,所以如果 layui(里面含图标字体文件)所在的地址与你当前的页面地址不在同一个域下,即会出现图标跨域问题。所以要么你就把 layui 与网站放在同一服务器,要么就对 layui 所在的资源服务器的 Response Headers 加上属性:Access-Control-Allow-Origin: * 文章来...
TP框架修改后台路径方法 直接映射 admin 后台修改路径为 myadmin888 文章来源:外星人来地球 欢迎关注,有问题一起学习欢迎留言、评论转载于:https://www.cnblogs.com/lovebing/p/11579639.html...
Send me - PLANETSHAKERS Send me i will go 送我,我会去 send me i will go 送我,我会 to this city, to this nations 为这城市 为这国家 and to the nations of the world 为世界列国和万邦 send me i will go 送我,我会去 se...