- 博客(110)
- 资源 (7)
- 收藏
- 关注
原创 多线程-----4.线程优先级
四、线程优先级(1)线程的概念通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的的单位。而这些线程大部分是可见的,但是,还存在一些后台线程,这些线程被称为守护(daemon)线程。◆ 线程分为用户线程和守护线程◆ 虚拟机必须确保用户线程执行完毕◆ 虚拟机不用等待守护线程执行完毕, 如,后台记录操作日志,监控内存,垃圾回收等待(2)线程的优先级优先级低只是意味着获得调度的概率低并不是优先级低就不会被调用了.这都是看CPU的调度◆
2022-06-08 16:17:40
160
原创 多线程-----3.线程的状态
文章目录三、线程的状态(1)线程的五大状态(2)线程停止---stop(3)线程休眠---sleep(4)线程礼让---yield(5)线程强制执行(6)Thread.State三、线程的状态(1)线程的五大状态线程的五大状态分别是:创建,就绪,运行,阻塞,死亡。(2)线程停止—stop停止线程1,建议线程正常停止--->利用次数,不建议死循环。2,建议使用标志位--->设置一个标志位,建议使用一个标志位进行终止变量当flag=false,则终止线程运行3,不要使用stop或
2022-06-04 17:38:13
147
原创 处理10G数据用多线程搞定了!
有一个10G文件的数据,里面包含了18-70之间的整数,分别表示18-70岁的人群数量统计,假设年龄范围分布均匀,分别表示系统中所有用户的年龄数,找出重复次数最多的那个数。
2022-06-02 22:53:43
613
转载 处理10G数据,java算法实现,但是为什么涉及多线程会有问题呢?
处理10G数据,我也试试用java算法实现一、问题说明问题就是:有一个10G文件的数据,里面包含了18-70之间的整数,分别表示18-70岁的人群数量统计,假设年龄范围分布均匀,分别表示系统中所有用户的年龄数,找出重复次数最多的那个数。二、模拟数据Java中一个整数占4个字节,模拟10G为30亿左右个数据, 采用追加模式写入10G数据到硬盘里。每100万个记录写一行,大概4M一行,10G大概2500行数据。代码如下:public class GenerateData { privat
2022-05-29 19:27:34
405
原创 多线程-----2.线程的创建(四种方式)
一、线程与进程◆ 说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。◆ 而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。◆ 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的的单位。通俗的说,进程就是电脑中一个程序,比如说QQ,写字板等,而QQ中你和每一个人聊天都是一个线程,写字板中你写东西,或者保存都是需要线程去操作的。注意:很多多线程是模拟出来的,真正的多线
2022-05-29 11:58:19
1084
原创 多线程-------1.线程与进程
一、线程与进程◆ 说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。◆ 而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。◆ 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的的单位。通俗点说,电脑中的一个程序,比如说QQ,微信都是一个进程,而你在QQ,微信中与他人聊天就是通过一个线程来执行的,当然,你也可以同时群发一个消息给多人,这也就相当于多个线程并发执行。注
2022-05-28 17:25:11
122
原创 pom文件爆红,一文懂maven
正所谓工欲善其事,必先利其器,你他妈maven都弄不好,那么javaEE你搞个屁啊!你的maven怎能比我的好,基本从开始学,做的更多项目都是用的它,现在就到我的网盘下载maven吧,别浪费时间。链接:https://pan.baidu.com/s/18BSz8IZJ0Tc065HM_GmKTw?pwd=p9zt提取码:p9zt建议边下载边把这篇文章读完。一、maven的作用与好处maven的作用(1)管理项目构建生命周期(2)管理项目中的jar包(3)管理项目的基本信息(文档管理,测试报
2022-05-10 23:56:03
974
原创 C盘爆红?火绒,cclean解决电脑上99%的问题(广告弹窗以及其他方式中有乱码程序名)
两步解决电脑上99%的问题 用电脑,那就要把电脑用好 电脑上杀毒软件多了不行,没有也不行,我以前电脑上就是没有杀毒软件,只用电脑自带的,但是现在我感觉这不够,虽然我对电脑的管理挺好,但是我只能管理我能看到的文件,电脑也没有广告弹窗,但是一些文件电脑上根本就不显示,还有一些电脑垃圾每次手动删很费时间,不管怎样,电脑上都需要有这两个软件。工欲善其事,必先利其器追求完美,怎么允许电脑上出现一些我不想看到的弹窗呢?追求完美,怎么能允许自己的电脑上出现一些乱码呢??如果你也被这些问题困扰,那就读
2021-08-02 16:23:06
2395
原创 redis理论知识总结
redis理论知识1. 什么是缓存雪崩?怎么解决?通常,会使用缓存用于缓冲对 DB 的冲击。但是如果缓存宕机,所有请求将直接打在 DB,造成 DB 宕机——从而导致整个系统宕机,这就是缓存雪崩。如何解决呢?对缓存做高可用:搭建redis集群,防止缓存宕机限流降级:使用断路器,如果缓存宕机,为了防止系统全部宕机,限制部分流量(通过加锁或者队列来控制线程数量)进入DB,保证部分可用,其余的请求返回断路器的默认值。数据预热:在正式部署之前,先将可能的数据预先进行访问一遍,将大部分的数据都加载
2021-08-02 11:47:00
255
原创 flyway快速入门 ---结合springboot
一、Flyway简介demo地址Flyway 是一款开源的数据库版本管理工具。它可以很方便的在命令行中使用,或者在Java应用程序中引入,用于管理我们的数据库版本。在项目或产品中,很难一开始就把业务理清楚,把数据库表设计好,因此数据表也会在迭代周期不断迭代。在Java应用程序中使用Flyway,能快速有效地用于迭代数据库表结构,并保证部署到测试环境或生产环境时,数据表都是保持一致的。Flyway支持的数据库很多,从官网摘抄如下:Supported databases are Oracle, SQ
2021-07-27 09:18:37
539
原创 计算器实现(JS,VUE) 计算功能已完善
前端实现计算器。。应该不难。第一步:先建个项目:项目结构如下:注意:这个vue.js懂的都懂,官网下载或者一些编译器都自带的,这个不放代码了。不多说,其他直接上代码。第二步:html代码:<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
2021-04-27 20:35:17
406
1
原创 如何解决waiting for target deviceto come online
如何解决waiting for target deviceto come online都是虚拟机的问题第一步:先关掉你自己的模拟器第二步:打开AVD manager,找到你自己的模拟器,里面有一个选项Cold Boot Now之后模拟器就会打开,模拟器打开并提示一行信息,直接dismiss掉就行了第三步:最后重新启动app即可楠哥-------一心想为IT行业添砖加瓦,却总是面向cv编程的程序员。 谢谢阅读,无误点赞,有误还望评论区指正。...
2021-04-23 00:17:34
495
1
原创 关于try,finally异常。finally一定会执行吗?
关于try,finally。finally一定会执行吗?答案肯定不是。先看一下结论:(1)当出现在try之前就有结果返回,也就是有return时,则不会往下执行。(2)当try之中出现异常时,会执行catch语句,然后是finally;当try中有return时,会将结果返回给finally,然后看finally中是否还有返回语句,如果有则将finally中的结果返回,finally中没有返回语句则将try中的返回语句返回。进入正文以案例来说明:try之前就结果返回public clas
2021-02-19 01:48:10
11710
4
原创 RPC调用完整流程
RPC调用完整流程: 调用方持续把请求参数对象序列化成二进制数据,经过 TCP 传输到服务提供方;服务提供方从 TCP 通道里面接收到二进制数据;根据 RPC 协议,服务提供方将二进制数据分割出不同的请求数据,经过反序列化将二进制数据逆向还原出请求对象,找到对应的实现类,完成真正的方法调用;然后服务提供方再把执行结果序列化后,回写到对应的 TCP 通道里面;调用方获取到应答的数据包后,再反序列化成应答对象。具体流程示例:这样调用方就完成了一次 RPC 调用。RPC 通信流程中的核心
2021-02-16 17:08:40
3040
原创 Java序列化与反序列化
Java序列化与反序列化一、什么是序列化与反序列化?二、为什么需要序列化与反序列化?三、如何实现Java序列化与反序列化四、代码演示先说我的总结,希望大家记得! 一、什么是序列化,如何实现序列化? 1、Java 中对象的序列化就是将对象转换成二进制序列,反序列化则是将二进制序列转换成对象。 2、采用Java序列化与反序列化技术: ①是可以实现数据的持久化,在MVC模式中很是有用; ②是可以对象数据的远程通信。 二、为什么需要序列化与反序列化? 使数据方便快捷的传送,压缩数据,节
2021-02-16 17:03:18
267
原创 java判断一个数是奇是偶,真难
给个方法,叫做:public boolean isOdd(int i)我写的是版本迭代,看你第几版?V1.0public boolean isOdd(int i) { if (i % 2 == 1) { System.out.println("是奇数"); } else { System.out.println("是偶数"); }}V2.0然后编译一下,发现错误了,顶多改成这样:public boolean isOdd(int i)
2021-02-10 03:36:07
298
1
原创 MQ的基础知识
MQ的基础知识为什么会有MQ产生背景:一:系统之间接口耦合比较严重二:面对大流量并发时,容易被冲垮三:等待同步存在性能问题定义特点一:采用异步处理模式二:应用系统之间解耦合三:整体架构为什么会有MQ产生背景: 系统之间直接调用实际工程落地和存在的问题: 微服务架构后,链式调用是我们在写程序时候的一般流程,为了完成一个整体功能会将其拆分成多个函数(或子模块),比如模块A调用模块B,模块B调用模块C,模块C调用模块D。但在大型分布式应用中,系统间的RPC交互繁杂,一个功能背后要调用上百个接口并非不可
2021-02-03 19:43:28
477
原创 nrm 安装成功之后 提示“不是内部或外部命令……”
在命令行执行命令,npm install -g nrm,全局安装nrm。执行nrm -v之后就说不是内部命令解决办法:1、查看nodejs全局安装路径:npm config ls其中 prefix 的路径就是 nodejs全局安装路径。2、将nodejs全局安装路径 配置到系统环境变量中PATH中即可路径为 nodejs全局安装路径(我这里值为D:\node.js\node_global)启动cmd,问题解决。楠哥-------一心想为IT行业添砖加瓦,却总是面向cv
2021-02-01 23:00:10
3509
1
原创 npm 有时候无法下载或者安装的问题解决办法(nodejs)
使用nodejs 下载一些工具,由于国内访问很多外网的限制,会出现下载失败的问题,比如下载命令npm install -g create-react-app安装create-react-app的时候出现错误。解决方法需要配置路径为taobao的免费 registry,命令如下:npm config set registry https://registry.npm.taobao.org配置后用npm config get registry命令检查是否成功接着再执行你的命令即可。楠哥--
2021-02-01 22:28:36
708
1
原创 Error: ENOENT: no such file or directory, mkdir F:\‘
错误:可能原因:可能是C:\Users\Administrator(users)目录下的.npmrc里的配置问题把.npmrc文件改成prefix=C:\node.js\node_globalcache=C:\node.js\node_cacheregistry=http://registry.cnpmjs.org/楠哥-------一心想为IT行业添砖加瓦,却总是面向cv编程的程序员。 谢谢阅读,无误点赞,有误还望评论区指正。...
2021-02-01 21:16:13
1351
2
原创 Linux(centos7)设置时间与windows的一致
Linux(centos7)设置时间与windows的一致第一步:安装ntp服务第二步:开启开机启动服务第三步:启动服务第四步:更改时区第五步:启用ntp同步第六步:同步时间第一步:安装ntp服务yum install ntp第二步:开启开机启动服务systemctl enable ntpd第三步:启动服务systemctl start ntpd第四步:更改时区timedatectl set-timezone Asia/Shanghai第五步:启用ntp同步timedatectl set
2021-01-30 16:14:08
505
原创 nacos1.X.X 初次下载解压运行报错 db.num is null如何解决
nacos1.X.X 初次下载解压运行报错 db.num is null修改startup.cmd修改startup.cmdcmd文件位置:将原有的set MODE="cluster"修改成set MODE="standalone",再重新启动即可楠哥-------一心想为IT行业添砖加瓦,却总是面向cv编程的程序员。 谢谢阅读,无误点赞,有误还望评论区指正。...
2021-01-23 18:43:58
173
原创 run dashboard 不显示解决办法
run dashboard 不显示解决办法1、右键单击父工程,选择Show in Explorer2、修改workspace.xml3、重启IDEA即可。1、右键单击父工程,选择Show in Explorer其实就是到达硬盘的地址。2、修改workspace.xml增加组件RunDashboard,如果有RunDashboard,则添加下列option标签。<component name="RunDashboard"> <option name="configurati
2021-01-20 17:15:08
1193
1
原创 redis三种特殊的类型---不知懂否
redis三种特殊的类型一、geospatial①geoadd②geopos③geodist④georadius⑤georadiusbymember⑥geohash二、HyperLogLog三、bitmaps一、geospatial Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。使用场景:朋友的定位,附近的人,打车等等都可以使用Redis GEO 操作方法有:geoadd:添加地理位置的坐标。geopos:获取地理位置的坐标。
2021-01-02 19:33:14
216
1
原创 这些不曾使用过的reids命令
reids常用命令--针对数据类型基本命令String①基本操作:②自增自减(加步数):③字符串范围:④批量设置:⑤设置对象为json的字符串:⑥设置过期时间(通过ttl来查看即将到期时间):⑦不存在key的时候创建(==如果存在则创建失败==):List①设置并获取值②移除值③通过下标来获取值④移除指定个数的value(精确匹配)⑤通过下标截取指定长度⑥移除列表中最后个元素并移动到其他列表中⑦将列表中的指定下标值更新⑧在某个值之前或之后插入Set(无序不重复集合)①增加元素②获取set集合中元素的个数③移
2021-01-02 19:31:56
197
1
原创 Linux修改主机名
Linux修改主机名一、为何更改二、更改方式1.临时更改①```vi /etc/hostname```②```hostname 111```一、为何更改Linux系统安装后都会有默认的主机名hostname即可查到主机名是----localhost.localdomain原因:这样在搭建环境时不好区分配置是否生效,所以应该更改主机名。二、更改方式1.临时更改①vi /etc/hostname原有的样子:将localhost.localdomain改成刚才的名字。保存退出即可。改成了1
2020-12-19 18:44:10
361
2
原创 mysql 主从复制Slave_IO_Running: Connecting Slave_SQL_Running: NO
mysql 主从复制Slave_IO_Running: Connecting Slave_SQL_Running: NO①停止slave②重置master③使用下述命令查看主机内容:④去从机上操作⑤启动slave⑥查看slave这个问题解决起来其实也很简单至于mysql配置文件,也就是/etc/my.cnf中的文件呢,就不说了。首先找到你的主机①停止slavestop slave;②重置masterreset master③使用下述命令查看主机内容:show master stat
2020-12-18 23:01:21
731
2
原创 关于servlet和JSP通过AJAX传值之间的那些事
关于servlet和JSP通过AJAX传值 看到这个servlet和JSP,你就应该会想起一些关于它们的知识点,而本文采用的是以案例来说明它们之间这样进行传值的。关于servlet和JSP通过AJAX传值之间的沟通交流:不过是JSP页面发送请求(get或者post请求),经过web.xml文件servlet将请求与具体java的实现类形成映射之后,通过具体的类来实现请求处理,并将数据通过response或者其他方式返回。其中注意点有:(1)相互传递的值的类型,(json或是其他),不同的数据类型,
2020-12-15 11:01:16
573
1
转载 JS中的eval函数,你理解对吗?
JS中的eval函数,你理解对吗?1.eval() 函数作用:可以接受一个字符串str作为参数,并把这个参数作为脚本代码来执行。2.参数情况:(1)如果参数是一个表达式,eval() 函数将执行表达式; (2) 如果参数是Javascript语句,eval()将执行 Javascript 语句3.注意:(如果执行结果是一个值就返回,不是就返回undefined,如果参数不是一个字符串,则直接返回该参数)4.语法:eval(string),5.案例:eval(“var a=1”);
2020-12-15 02:07:17
642
原创 activemq8161无法启动-------两步解决
activemq8161无法启动-------两步解决第一步在任意目录下输入命令:firewall-cmd --zone=public--add-port=8161/tcp --permanentfirewall-cmd --reload查看打开的端口号:firewall-cmd --list-all第二步在activemq的安装目录下的conf文件夹中找到jetty.xml进行修改:vim jetty.xml将原本的127.0.0.1改为0.0.0.0之后重启activemq即
2020-12-04 02:41:47
604
1
原创 HTTP/1.1、HTTP/2、HTTP/3的演变
HTTP/1.1、HTTP/2、HTTP/3的演变HTTP的演变HTTP/1.1-->HTTP/1.0HTTP/1.1-->HTTP/2HTTP/2-->HTTP/3HTTP的演变HTTP/1.1–>HTTP/1.0HTTP/1.1 相比 HTTP/1.0 性能上的改进:使用 TCP 长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。支持 管道(pipeline)网络传输,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,可以减少整体的响应时间。
2020-11-05 20:47:49
781
原创 IDEA-jclasslib、hexview插件安装、使用
IDEA-jclasslib、hexview插件安装、使用jclasslib,hexview插件安装第一步:File-->Settings第二步:Plugins-->搜索jclasslib以及hexview第三步:重启IDEAjclasslib,hexview插件使用jclasslib使用:第一步:先选择好.class文件第二步:选择View-->Show Bytecode With Jclasslib即可hexview使用:第一步:先选择好.class文件第二步:右键单击即可找到HexV
2020-11-02 19:08:03
1727
原创 实用工具总结--------插件篇
实用工具总结--------插件脚本篇插件、脚本含义插件,脚本,扩展有什么区别插件脚本推荐插件推荐脚本推荐插件、脚本含义插件,脚本,扩展有什么区别扩展(Extensions),扩展是一种具有一些新功能的加载bai项,在 Firefox 扩展中心(https://addons.mozilla.org)上有着丰富的优秀扩展,相信 Firefox 扩展强大的功能会让你再也离不开 Firefox,你可以根据个人需求来安装适合个人需求的扩展。插件(Plugins),初学者最容易把扩展和插件混淆了,通俗的讲,
2020-11-01 18:01:28
330
原创 HTTP与HTTPS的区别
HTTP与HTTPS的区别一:HTTP 与 HTTPS 有哪些区别?二:HTTPS 解决了 HTTP 的哪些问题?三:HTTPS 是如何解决上面的三个风险的?(1)混合加密(2)摘要算法(3)数字证书四、HTTPS 是如何建立连接的?其间交互了什么?1、ClientHello:2、SeverHello3、客户端回应4、服务器的最后回应一:HTTP 与 HTTPS 有哪些区别?(1)HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和
2020-11-01 17:45:54
4341
flyway_mysql.zip
2021-07-27
province_city.zip
2020-12-15
nginx-1.16.1.tar.zip
2020-08-27
dom4j-1.6.1.zip
2020-08-22
楠哥springcloud中nacos.zip
2020-08-05
基于UDP协议以及java GUI的编程.zip
2020-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人