自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(114)
  • 收藏
  • 关注

原创 大数据入门Hadoop

Hadoop生态圈一般来说,狭义的Hadoop仅代表了Common、HDFS、YARN和MapReduce模块。但是开源世界的创造力是无穷的,围绕Hadoop有越来越多的软件蓬勃出现,方兴未艾,构成了一个生机勃勃的Hadoop生态圈。在特定场景下,Hadoop有时也指代Hadoop生态圈。

2023-03-29 17:28:11 355

原创 springboot-aop应用

springboot-aop的应用

2022-06-13 23:57:21 185

原创 一张图学会python

2021-08-01 11:12:49 337

原创 idea安装python

Idea缺省是没有安装Python的,需要在plugins里安装,具体方法见下图:打开idea,在plugins中的marketplace搜索python插件,点击install安装,然后重启即可创建python项目安装好python插件后,创建新项目的时候即可看见python项目,选择好python的sdk,下一步...

2021-08-01 09:35:17 7174

原创 深入理解JVM——关于垃圾回收

关于垃圾回收仿佛来自上海居委会大妈的灵魂拷问:“你是什么垃圾?”不今天我们要说的是JVM的垃圾回收假如我是一个“人”类的“对象”,也和人的生命一样必有一死,可是“我真的还想再活500年~~”,面临着GC(垃圾回收器)这个“死神”,我可以逃脱命运的摆布吗?我应该如何逃脱呢?其实是可以的,就是有名的finalize 大法(以前黑客常用的方法之一),下面代码演示一下:...

2021-05-30 21:18:58 126

转载 Java的乐观锁和悲观锁

乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度,在Java和数据库中都有此概念对应的实际应用。1.乐观锁顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,乐观锁在Java中是通过使用无锁编程来实现,最常采用的是CAS算法,Java原子类中的递增操作就通过CAS自旋实现的。CAS全称 Compare And Swap...

2021-03-27 17:09:55 263

原创 redis如何查看主从状态信息master和salve

连接上redis客户端,然后输入info replication主节点:role:master从节点:role:slave其他,如查看redis服务信息,比如版本redis_version:5.0.4info server查看redis的cpu信息info cpu查看redis占用内存的信息比如used_mem_human:1.87M,表示redis数据占用1.87M,used_mem_rss:7.91M表示系统占用总大小。info me.

2021-03-14 12:23:12 6178

原创 Redis缓存淘汰策略

redis 内存数据集大小上升到一定大小的时候,就会实行数据淘汰策略。配置文件redis.confmaxmemory-policy voltile-lru1. noeviction:不淘汰任何数据,当内存不足时,新增操作会报错,Redis 默认内存淘汰策略;2. allkeys-lru:淘汰整个键值中最久未使用的键值;3. allkeys-random:随机淘汰任意键值;4. volatile-lru:淘汰所有设置了过期时间的键值中最久未使用的键值;(常用)5. volatile-ran

2021-03-14 09:01:22 102

原创 设置Excel单元格行宽列高

点击【左上角】选中所有单元格--》【开始】选项卡选择【格式】--》选择【行高】设置行高--》选择【列宽】设置列宽

2021-03-11 20:14:39 680

原创 布隆过滤器是什么?

简介布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。作用:布隆过滤器可以用于检索一个元素是否在一个集合中。优点:空间效率和查询时间都比一般的算法要好的多缺点:有一定的误识别率和删除困难。详细布隆过滤器本身是一个很长的二进制向量,既然是二进制的向量,那么显而易见的,存放的不是0,就是1。新建一个16位的布隆过滤器,如图随机映射函数,比如我们使用4个hash算法:hash1,hash2,hash3..

2021-03-11 14:56:10 244

原创 万万没想到之聪明的编辑

题目链接:https://www.nowcoder.com/question/next?pid=16516564&qid=362291&tid=41766114我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径:1. 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello2. 两对一样的字母(AAB.

2021-03-09 21:41:35 92

原创 ConcurrentHashMap分析

资料面试 ConcurrentHashMap ,看这一篇就够了!https://segmentfault.com/a/1190000039087868

2021-02-24 22:39:21 107

原创 python抽象

继承的应用:抽象类Python从语法层面并没有像Java或C#那样提供对抽象类的支持但是我们可以通过`abc`模块的`ABCMeta`元类和`abstractmethod`包装器来达到抽象类的效果abstract.pyfrom abc import ABCMeta, abstractmethodfrom math import piclass Shape(object, metaclass=ABCMeta): """图形抽象类""" @abstractme

2021-01-31 22:07:48 153 1

原创 井字棋游戏

井字棋井字棋,英文名叫Tic-Tac-Toe,是一种在3*3格子上进行的连珠游戏,和五子棋类似,由于棋盘一般不画边框,格线排成井字故得名。游戏需要的工具仅为纸和笔,然后由分别代表O和X的两个游戏者轮流在格子里留下标记(一般来说先手者为X),任意三个标记形成一条直线,则为获胜。py100天day7"""井字棋这个案例来自[《Python编程快速上手:让繁琐工作自动化》](https://item.jd.com/11943853.html)一书(这本书对有编程基础想迅速使用Python将日

2021-01-28 23:01:41 433

原创 找出1~9999之间的所有完美数

py-100天day5练习"""找出1~9999之间的所有完美数完美数是除自身外其他所有因子的和正好等于这个数本身的数例如: 6 = 1 + 2 + 3, 28 = 1 + 2 + 4 + 7 + 14假如n是合数,必然存在非1的两个约数p1和p2,其中p1<=sqrt(n),p2>=sqrt(n)"""import mathfor num in range(1, 10000): result = 0 # 求解num的所有因子factor n =

2021-01-26 22:59:39 1272 1

原创 求解《百钱百鸡》问题

py-100天day5的练习"""求解《百钱百鸡》问题1只公鸡5元 1只母鸡3元 3只小鸡1元 用100元买100只鸡问公鸡 母鸡 小鸡各有多少只简化: 5x+3y+z/3=100 x+y+z=100范围: x=[0,20] y=[0,33] z=[0,300]"""# 暴力破解法for x in range(0, 21): for y in range(0, 34): z = 100 - x - y

2021-01-26 21:50:41 400

原创 水仙花数

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)"""找出100~999之间的所有水仙花数水仙花数是各位立方和等于这个数本身的数如: 153 = 1**3 + 5**3 + 3**3"""fo

2021-01-26 21:38:56 256

原创 计算最大公约数和最小公倍数

知识:最大公因数也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个a,b的最大公约数记为(a,b)12,18的最大公约数是(12,18)=6计算方法: a%factor==0 and b%factor==0 得到 (a,b)=factor最小公倍数两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。整数a,b的最小公倍数记为[a,b]如12,18的最小公倍数是[12,18]=36计算方法:factor * (a/fac

2021-01-26 00:05:54 220

原创 判断素数

py-100天day4的小练习:输入一个正整数判断它是不是素数质数又称素数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。注意:0和1既不是质数也不是合数,最小的质数是21、最简单的方法就是使用for循环进行遍历,如果num无法整数2-num之间的数,那么就是素数prime.pydef is_prime1(): """ 最简单的方法:遍历 :return: """ num = int(input("请输入.

2021-01-25 23:27:48 379 2

原创 python计算三角形的周长和面积

说明:首先输入边长,判断是否构成三角形,如果是就计算周长和面积主要用到的数学知识是三角定理(判断是否构成三角形)和海伦公式(根据三角形边长计算面积)三边长分别是:a,b,c三角定理: a+b>c and a-b<c海伦公式: 通过边长计算三角形面积 p = (a + b + c) / 2 area = math.sqrt(p * (p - a) * (p - b) * (p - c))这是py-100天day3的小案例,原作者是骆昊.

2021-01-24 18:04:36 25883 1

原创 pip安装Python库超时解决办法

设置国内镜像1、在C:\Users\Administrator\AppData\Roaming目录下新建文件夹pip,2、在pip文件夹下新建pip.ini文件,然后在pip.ini 里输入[global]timeout = 6000index-url =http://pypi.douban.com/simpletrusted-host = pypi.douban.com安装ipython# 如果是py2pip install ipython# 如果是py3pip3 i

2021-01-22 23:55:25 168

原创 2021-01-17

最近一周有一点迷茫“又开始”学习点新鲜玩意Python——虽然Python年纪比java都老,但是在国内火起来也就是最近几年的时间。之前也学习了一些python,但是也是为了缓解一些职场焦虑,跟风学习了几天基本语法和一些网络爬虫技术现在已经是一个5年经验的程序员了,索性就蹭一下热度,把python作为第二语言来玩吧。firstofall:准备一款好用的工具IDE,目前业界比较推荐的是pycharm,去官网下载了一些,家里网速还是不错的。(其实用idea装python插件来开发也是..

2021-01-17 17:06:29 149

原创 《晴天》

《晴天》春 第6570天的早晨 爱情 醒了夏 37.8C中 狠狠地 相爱秋 3/4的 雨水 1/4的 我和你冬 灼热的名字 在23.1N 121.5E中 蒸发解读:6570天/365=18,就是18岁的那天,这句太有诗意了37.8摄氏度就是人体轻微发烧的温度这个句式像是郁夫达的《故都的秋》中的名句23.1N 121.5E在台湾的台北在最后,“这句话 我将锁在18岁的夏天”,明信片适当的排列,就是“Jay I Love You”...

2020-12-31 23:07:17 995

原创 Redis

Redis集群原理可参考以下资料,原理其实相对比较好理解三张图秒懂Redis集群设计原理redis集群原理

2020-12-20 18:23:37 128

原创 Docker安装Redis

Redis部署拉取镜像 docker pull redis创建容器 docker run -di --name=myredis -p 6379:6379 redis连接redis连接redis:redis-cli.exe -h 宿主机ip设置值:set key1 hello获取值:get key1

2020-12-19 12:00:34 409 2

原创 web项目部署

Tomcat部署web项目3种方式:1. 直接将项目放到webapps目录下即可。(最简单)/hello:项目的访问路径-->虚拟目录简化部署:将项目打成一个war包,再将war包放置到webapps目录下。war包会自动解压缩,下线只需要删除war包,解压文件也会自动删除。2. 配置conf/server.xml文件在<Host>标签体中配置<Context docBase="D:\hello" path="/hehe" />docBase:项目存

2020-11-22 18:27:09 218

原创 linux强制其他用户下线

主要2种方式:1、强制其他用户下线命令格式:pkill -kill -t tty只有root用户才能强制其他用户下线。如果同时有二个人用root用户登录,任何其中一个可以强制下线另一个。任何用户都可以强制自己下线2、杀进程:ps -ef | grep pts/0kill -9 pid...

2020-11-22 17:33:54 982

原创 SCHEMA约束

WHAT.什么是Schema?Schema,即XML Schema,XSD (XML Schema Definition)是W3C于2001年5月发布的推荐标准,指出如何形式描述XML文档的元素。XSD是许多XML Schema 语言中的一支。XSD是首先分离于XML本身的schema语言,故获取W3C的推荐地位。像所有XML Schema 语言一样,XSD用来描述一组规则──一个XML文件必须遵守这些规则,才能根据该schema‘合法(Valid)’。HOW.怎么样使用Schema?1

2020-11-21 10:50:52 420

原创 DTD约束

WHAT.什么是DTD?DTD Document Type Definition 文档类型定义。我们在XML中可以自定义标记,那XML解析器怎么认识这些自定义标记并根据自定义标记的处理法则来处理元素呢?这需要DTD,它是我们用来定义我们自己定义的标记的含义,我们自己定义元素的相关属性的文档。DTD与XML是类与对象,数据库表结构与记录的关系。简单实例student.dtd<!ELEMENT students (student*) ><!ELEMENT stude

2020-11-21 10:20:11 462

原创 数据库的事务

事务的四大特征: 1. 原子性(Atomicity ):是不可分割的最小操作单位,要么同时成功,要么同时失败。 2. 一致性(Consistency):当事务提交或回滚后,数据库会持久化的保存数据。 3. 隔离性(Isolation ):多个事务之间。相互独立。 4. 持久性(Durability ):事务操作前后,数据总量不变事务的隔离级别:概念:多个事务之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解...

2020-11-19 22:58:18 80 2

原创 idea自动填充方法参数

工作中有时候经常上下游参数较多而且参数名一致,每次都要写几个字母然后回车或者alt+enter选择单个参数,效率较低。有一个插件可以根据所调用函数的参数名自动填充到调用处,底层应该是利用反射机制获取参数名和对应位置,自动填充到对应位置。在参数较多情况下效率提高很大,非常推荐大家使用,下面介绍安装和使用方法。1、file-->settings-->plugins2、搜索 auto filling,并且安装后重启idea3、快捷键alt+enter选中上面的,参数自动会填充.

2020-11-18 22:51:02 4916

原创 git回滚到某个commit

git log 查看提交历史及提交的commit_id回退命令:$ git reset --hard HEAD^ 回退到上个版本$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前$ git reset --hard commit_id 退到/进到 指定commit的sha码强推到远程:$ git push origin HEAD --force...

2020-11-17 21:38:58 317

转载 CAP模型

什么是CAP?Consistency一致性,Availability可用性,Partition tolerance分区容错性。分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。本文介绍该定理。它其实很好懂,而且是显而易见的。下面的内容主要参考了 Michael Whittaker 的文章。一、分布式系统的三个指标1998年,.

2020-11-14 10:44:17 4703

转载 Java之父詹姆斯•高斯林趣闻

目录1、 詹姆斯·高斯林与C++2、 詹姆斯·高斯林与OAK3、 詹姆斯·高斯林与JAVA1、 詹姆斯·高斯林与C++SUN(太阳计算机系统公司) 公司在1990年12月开始开发一个内部项目,这个项目的名字叫做“Green计划”, 用于在各种家用电器上实现控制和通讯, 詹姆斯·高斯林是这个计划的主要负责人。本来项目组决定使用C++来开发这个项目,但是很快,James 就改变了主意。James列举了很多理由来说明为什么不想使用C++。比如:很多成员发现C++太复杂以至很多开发者经常错误使用、C++缺少垃圾

2020-11-03 23:39:16 760

原创 字符编码和字符集

这里写目录标题什么是字符编码?什么是字符集?常见的字符集什么是字符编码?计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码 。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。编码:字符(能看懂的)–字节(看不懂的)解码:字节(看不懂的)

2020-10-24 12:20:43 290

原创 jvm垃圾收集器

3、垃圾收集器以及内存分配前面我们讲了垃圾回收的算法,还需要有具体的实现,在jvm中,实现了多种垃圾收集器,包括:串行垃圾收集器、并行垃圾收集器、CMS(并发)垃圾收集器、G1垃圾收集器,接下来,我们一个个的了解学习。3.1、串行垃圾收集器串行垃圾收集器,是指使用单线程进行垃圾回收,垃圾回收时,只有一个线程在工作,并且java应用中的所有线程都要暂停,等待垃圾回收的完成。这种现象称之为STW...

2020-04-25 22:10:20 172

原创 jvm垃圾回收算法

文章目录1 、什么是垃圾回收?1.1、C/C++语言的垃圾回收1.2、Java语言的垃圾回收2 、常见垃圾回收算法2.1、引用计数法2.2、标记清除法2.3、标记压缩算法2.4、复制算法2.5、分代算法jvm堆内存模型1 、什么是垃圾回收?程序运行需要申请内存资源,对象资源使用完如果不及时处理就会一直占用内存资源,最后导致内存溢出,所以对内存资源的管理是非常重要的。1.1、C/C++语言的垃...

2020-04-25 18:21:06 169

原创 yum安装mysql

文章目录检查安装修改MySQL配置启动并登陆mysql外部访问MySQL检查查看有没有安装mysql:rpm -qa|grep mysql没有返回任何信息说明没有安装我是用的centos7,默认安装的mariadb,而不是mysql所以应该输入rpm -qa|grep mariadb看返回信息说明系统自带mariadb的安装包安装使用yum(Yellow dog Updater ...

2020-04-18 23:17:57 221

原创 jvm优化基础

我们为什么要对jvm做优化?在本地开发环境中我们很少会遇到需要对jvm进行优化的需求,但是到了生产环境,我们可能将有下面的需求:运行的应用 “卡住了”,日志不输出,程序没有反应服务器的 CPU负载突然升高在多线程应用下,如何分配线程的数量?对jvm有更深入的学习,我们不仅要让程序能跑起来,而且是可以跑的更快!可以分析解决在生产环境中所遇到的各种“棘手”的问题。jvm的运行参数测试...

2020-04-11 00:21:52 237

原创 什么是负载均衡

负载均衡负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。简单理解比方说,我们部署的项目放到tomcat服务器中,对于每一个请求,tomcat服务器都会起一个线程来处理请求并返回结果,每一个线程都需要分配一些内存,如果请求多了,那么...

2020-04-07 20:58:11 544

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除