- 博客(848)
- 收藏
- 关注
原创 MySQL中查询一个字符串字段的值不为空到底该怎么写?
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
2022-09-11 10:27:46
2924
原创 AMQP协议详解
AMQP(Advanced Message Queuing Protocol)高级消息队列协议,一个提供统一消息服务的应用层标准协议,是应用层协议的一个开放标准,为面向消息的中间件设计。AMQP是一个进程间传递异步消息的网络协议。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP在消息提供者和客户端的行为进行了强制规定,使得不同卖商之间真正实现了互操作能力。
2022-09-11 01:37:49
272
原创 CentOS7 安装MySQL 图文详细教程
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
2022-09-09 22:09:23
492
原创 mysql 创建索引的三种方式
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
2022-09-08 22:46:32
250
原创 Linux CC++ 网络编程博客
博主对unp总结的专栏,还有apue,多看经典书总有好处。一个简短的总结,参考博客值得看看。博主总结了很多,先mark。博客覆盖面很广,先mark。
2022-09-07 15:33:32
263
原创 JVM中唯一一个不会发生GC和OOM的存储区域
cpu会不停地做任务切换,这样必然导致经常中断和恢复。为了能够准确地记录各个线程正在执行的当前字节码指令地址,所以为每个线程都分配一个PC寄存器。JVM中的PC寄存器是对物理PC寄存器的的一种抽象模拟。用来存储指向下一条指令的地址,也是即将要执行的指令代码。由执行引擎读取下一条指令。JVM字节码解释器需要通过改变PC寄存器的值来明确下一条应该执行什么样的字节码指令。CPU需要不停地切换各个线程,切换回来后,需要知道从哪继续执行。占用内存很小,运行速度最快。唯一一个没有OOM的区域。
2022-09-07 13:04:49
154
原创 IDEA maven project Dependencies 报错
2.有时候我们点击刷新完了,还是会有些错误,而且有些jar在自己的maven本地仓库是存在的,可就是出错,要检查你的maven设置的仓库是否是你想要的那个仓库,IDEA默认的是自带的m2仓库,如果需要改仓库,就要重新配置maven。3.自己的配置的本地仓库有jar,项目还是出现红字,这个时候,你需要把repository里对应的jar包的那个文件夹删除掉,然后让maven去重新下载,可能jar包是错误的。比如我要项目要用这个antlr-2.72.jar,项目报找不到jar包,这个时候可以把这些文件都删除。
2022-09-07 07:59:45
502
原创 java日期增加一个月或减少一天
我们在java开发中,遇到一个Date类型的日期,希望在它基础上增加一个月,赋值给另外一个变量,这个时候该如何处理。如果希望减少一个月修改代码为 rightNow.add(Calendar.MONTH, -1);可以看到 传入参数为 2017-04-13 输出结果为 2017-05-13 比原先增加了一个月,符合预期效果。输入日期 2017-04-13 输出日期 2017-04-12 比原来减少了一天,符合预期。那么我们又希望在原来日期基础上增加或减少一天,又该如何实现呢?
2022-09-06 17:52:23
2699
原创 java八股文面试题(重点)
Java面试题大全(2020版)JAVA面试八股文Java 八股文2021互联网大厂面试问题集合《剑指offer》Java版全系列题解(2021版,持续更新!)2020最新-精选基础算法100题(面试必备)Java基础知识面试题(2020最新版)2017年-应届毕业生面试总结(一)2017年-应届毕业生面试总结(二)LeetCode刷题指南(一)LeetCode解题汇总目录微软的100道算法面试题(一)菜鸟课程数据结构与算法菜鸟课程Python 100例牛客网javayoungyangyang04/leet
2022-09-06 16:27:10
80
原创 Java8新特性Stream之list转map及问题解决
注意:用Collectors的toMap方法转换List,一般会遇到两个问题。另一个是空指针异常,即转为map的value是null。List集合转Map,用到的是Stream中Collectors的toMap方法:Collectors.toMap。原因是声明List集合时有的值为空(如图),但是HashMap中k,v是可以存null值的。解决方法:在转换流中加上判空,即便value为空,依旧输出。2.重复时将前面的value 和后面的value拼接起来;解决方法:(分三种,具体哪种看业务需求)
2022-09-06 15:08:04
998
原创 Java stream操作toMap总结
3、map 对象成员变量,重复的key,放入List。1、map 对象本身,重复的key,放入List。2、map 对象本身,重复的key,替换内容。4、map 对象成员变量,重复的key,替换。groupBy其他用法参考。
2022-09-06 13:44:30
1086
原创 IntelliJ IDEA 2017 提示“Unmapped Spring configuration files found.Please configure Spring facet.”
1.“Ctrl+Shift+Alt+S”打开project的配置界面,选择“Modules”页签,再选择报“Unmapped Spring configuration files found.”的Module,点击“+”按钮;这个提示不影响工程正常运行,但是,作为一个强迫症~~每天看到这个提示内心是躁动和不安的。2.在弹出的窗口内,全部勾选Unmapped的Spring配置文件,点击“确定”,然后在父界面中点击“应用”或“确定”完成保存。
2022-09-06 12:13:17
113
原创 idea创建第一个maven项目报错:Cannot resolve plugin org.apache.maven.pluginsmaven-clean-plugin2.5
可以修改一下默认本地仓库地址,这样以后创建或导入新项目就不用再修改地址了。然后在配置setting.xml文件,最后在idea中配置maven。主要原因是本地maven的配置文件和仓库地址不一致。在本地新建一个文件夹和一个XML文件。
2022-09-06 10:49:41
333
原创 IDEA 2020.1 版自动导入MAVEN依赖的方法(新版MAVEN无法自动导入更新POM依赖、MAVEN设置自动更新、自动
新版的IDEA为了防止 pom 更新时,MAVEN 自动导包时卡死的问题,取消了自动导包机制。但新增了导入按钮和快捷键。
2022-09-06 09:14:59
1663
1
原创 HDFS设置JVM
远程VPN查看果不其然还是同一台出过问题的机器,按顺序下载日志进行分析,这次在日志中发现了问题,“java.lang.OutOfMemoryError: Java heap space”。设置jvm复用,即一个job内,多个task共享jvm,避免多次启动jvm,浪费资源和时间。搭建的hadoop集群使用了一段时间,从26号发现一个datanode节点莫名宕机了,下载相关日志查看也没发现什么问题,重启后恢复了正常,对于具体的原因也就没有进行深入追究。上述配置完成后,重新启动datanode节点即可。
2022-09-02 17:30:56
189
原创 Hadoop之家族成员Pig简介
其中,load ‘/scott/emp.csv’ using PigStorage(‘:’) Load 为加载数据路径“/scott/emp.csv”,PigStorage指定分隔符,不仅可以指定输入文件的分割符.而且还能用来指定输出文件个分割符,“dump B”表示在屏幕中显示结果,“store B into ‘out’”表示把结果输出到out文件/文件夹中。其中java -cp 表示编译jar包,后面紧跟生成的jar路径,空格后的为Main函数所在的类名称。Tuple:行,记录。
2022-09-02 16:10:06
225
原创 Elasticsearch的script使用
fields”: { “test1”: [“1”, “中国”, “中韩”, “冲”, “冲突”, “均”, “平均”, “扣”, “每天”, “渔”, “渔船”, “突”, “船”, “艘”, “警”, “调查”, “韩”, “hello”] }“fields”: { “test1”: [“中国”, “亚”, “亚裔”, “击”, “嫌”, “嫌犯”, “子枪”, “已”, “杉”, “枪”, “枪击”, “洛”, “洛杉矶”, “犯”, “男子”, “矶”, “自首”, “裔”,重启ES后即可生效了。
2022-09-02 13:21:27
870
原创 ElasticSearch 被攻击勒索
Successfully completed [ML] maintenance tasks 就是通过定时维护任务, 远程访问了ES执行了删除ES索引。数据不多的话, 重新装一个ES, 就把端口什么的外网禁用, 找找系统还有什么漏洞, 这很明显就是被勒索了, 淦.访问 rread_me 索引发现。index 莫名其妙被删除。
2022-09-02 12:01:40
130
原创 dubbo配置参考手册,dubbo各个标签解析
设为true,表示使用缺省Mock类名,即:接口名 + Mock后缀,服务接口调用失败Mock实现类,该Mock类必须有一个无参构造函数,与Local的区别在于,Local总是被执行,而Mock只在出现非业务异常(比如超时,网络异常等)时执行,Local在远程调用之前执行,Mock在远程调用后执行。令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌,否则使用静态令牌,令牌的作用是防止消费者绕过注册中心直接访问,保证注册中心的授权功能有效,如果使用点对点调用,需关闭令牌功能。
2022-09-02 10:38:36
271
原创 Dubbo快速开始与依赖(一)
按官方参考文档,向dubbo-demo-api模块中添加包org.apache.dubbo.demo,在包下边添加接口DemoService,结果如下图:}然后运行一下Maven的install命令,把这个接口打包安装到本地的Maven仓库,以便在其它模块中引用它。右击模块名称,选择Run As,再选择Maven build…
2022-09-02 09:15:08
143
原创 DBeaver启动报错(Version 1.8.0_ 301 of the JVM is not suitable for this product. Version 11)和
3.右键快捷方式,属性,在"目标"路径后面加上-vm-B:igdataJAVAjdk1.8.0_301injavaw.exe(连接你的java)点击应用并确定即可。一般情况下,执行上述操作后,就能正常打开dbeaver快捷方式了。但有部分电脑由于部分原因。网上尝试了很多种办法依旧不能解决,最后无意间发现在dbeaver配置设置文件里面把。插入到**-vmargs下面**两行,保存后,新建快捷方式,重复第3步操作即可。我查了网上很多种方法,在dbeaver的配置设置文件里,加在**-vmargs下面**
2022-09-02 07:55:01
1437
原创 dubbo SPI机制
SPI(Service Provider Interface):服务提供接口本文主要介绍dubbo源码中大量使用的SPI机制,至于什么是SPI,请自行查阅基于上述自适应扩展机制,比如我想设置某个服务的负载均衡策略为每次只选择第一个,那么只要这样写根据LoadBalance spi机制,自定义自己的LoadBalance实现@Override// 测试只选择第一个}}...
2022-09-01 16:45:15
62
原创 docker启动失败Failed to start Docker Application Container Engine
但是重启却报错,根据提示查看docker服务状态,Failed to start Docker Application Container Engine.daemon.json文件中采用缩进可以,但是不能出现空格,重新加载daemon.json配置,然后重启就可以成功。Docker官方仓库的速度会比较慢,可以配一个官方的中国加速镜像。然后重启docker即可。...
2022-09-01 14:17:58
397
原创 DataFrame(11):数据转换——map()函数的使用
说明:依次取出序列(iterable)中的每一个元素,放到函数(function)中,最终得到一个迭代器,我们可以使用list或者for循环得到其中的元素。上图有一个列表,元素分别是从1-9。map()函数的作用就是,依次从这个列表中取出每一个元素,然后放到f(x)函数中,最终得到一个通过函数映射后的结果。说明:依次取出序列(Series)中的每一个元素,放到函数(function)中,最终得到一个Series结果。将序列中的每一个元素,输入函数,最后将映射后的每个值返回合并,得到一个迭代器。...
2022-09-01 11:48:35
247
原创 Apache Shiro SessionManager
还要注意,即使你阻止了Shiro删除无效的会话,你仍然应该使用某种会话验证方式——要没通过Shiro的现有验证机制,要么通过一个你自己提供的自定义的机制(见上述的"DisablingSessionValidation"获取更多)。验证机制将会更新你的会话记录以反映无效的状态(例如,什么时候它是无效的,它最后一次被访问是什么时候,等等),即使你在其他的一些时间将手动删除它们。可以在任何应用程序中使用。这意味着你的会话数据可以驻留在内存中,文件系统,关系数据库或NoSQL的数据存储,或其他任何你需要的位置。..
2022-09-01 09:03:46
173
原创 Dubbo 与 Spring Cloud 完美结合
Dubbo Spring Cloud 构建在原生的 Spring Cloud 之上,其服务治理方面的能力可认为是 Spring Cloud Plus, 不仅完全覆盖 Spring Cloud 原生特性,而且提供更为稳定和成熟的实现,特性比对如下表所示:以上对比表格摘自Dubbo Spring Cloud官方文档。...
2022-08-31 17:26:20
582
原创 银行笔试题
其中Students表按Sno(学号)升序建唯一索引,Courses表按Cno(课程号)升序建唯一索引,Reports表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。java基础知识+数据库基础知识,这篇博文基于《东莞农商银行》的笔试回忆写,科技类分成了两卷A卷和B卷,我做的是A卷,只附上编程题部分。System.out.println(“欢迎观临模拟银行”);上例中,一个没有加void返回值的父类函数时构造函数,创建子类时先创建父类,加入了void时,父类的构造函数被隐藏,而其成为了普通方法。.
2022-08-31 10:48:57
267
原创 详解Java中Map用法
因此,要迭代Map的元素相对麻烦,但也没有更好的办法。Set中的每个元素都是一个Map.Entry对象,可以使用getKey()和getValue()方法(还有一个setValue()方法)访问后者的键元素和值元素。Map以按键/数值对的形式存储数据,这里要特别说明(Map.Entry,是Map的内部类,它用来描述Map中的键/值对)。//该方法会将原先Key所对应的键值对覆盖掉,即可以用该方法修改Map中的值。通过使用这些方法返回的对象,可以遍历Map中的元素,也可以删除Map中的元素。...
2022-08-31 09:26:57
388
原创 springboot连接oracle数据库注意事项
2、driver-class-name: oracle.jdbc.driver.OracleDriver改为oracle.jdbc.OracleDriver。3、dao写成mapper(狂神说的习惯),注意mapper类要加@component注释,注入spring管理。1、我连接的是oracle11g,mvn依赖就用idea创建时默认的ojdbc8。4、遇到“java.sql.SQLException: 不支持的字符集 (在。中添加 orai18n.jar): ZHS16GB”问题。...
2022-08-31 07:56:43
828
原创 设置jvm内存
2,在系统变量中,新建变量JAVA_OPTS,值设置为 -Xms1024M -Xmx2048M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=512M。设置完成后,web容器启动的时候,都会按这个配置初始化。1,打开windows系统环境变量。...
2022-08-30 17:48:40
380
原创 解决java.lang.String cannot be cast to java.lang.Integer异常
valueOf()方法得到的数据类型可以继续往下编,因为这个方法得到的是 Double,是对象,属于Java的引用数据类型。parseDouble()方法得到的数据类型不能继续编译,因为这个方法得到的是 double ,是Java的基本数据类型。...
2022-08-30 16:25:26
1883
原创 网络编程怎么学
你应该处于学习socket api阶段吧,其实这个阶段随便找本书看下就下,如果好奇心强烈,推荐看下unix网络编程,了解下更低层的知识,这块是逃不过的,会用api才是开始。等框架用的顺手了,慢慢就理解到网络编程重点不在于socket api,而是线程模型,所以就开始深入研究多线程编程。《Java网络编程》很全面,但是O’REILLY家的书有个问题,全书各种api的介绍,不是那种由浅入深,抓重点的入门书。使用技术包括:消息中间件,多线程(包括定时器),网络通信(nio),公司自己研发的通信框架。...
2022-08-30 14:59:13
71
原创 理解Hadoop与HDFS
小明接到一个任务:计算一个100M的文本文件中的单词的个数,这个文本文件有若干行,每行有若干个单词,每行的单词与单词之间都是以空格键分开的。Hadoop集群搭建好以后,可以通过web页面查看集群的情况,还可以通过Hadoop命令来上传文件到hdfs集群,通过Hadoop命令在hdfs集群上建立目录,通过Hadoop命令删除集群上的文件等等。后来,小明接到了另外一个任务,计算一个1T(1024G)的文本文件中的单词的个数。把HDFS理解为一个分布式的,有冗余备份的,可以动态扩展的用来存储大规模数据的大硬盘。.
2022-08-30 13:28:05
120
原创 某哥一句话点醒我什么是网络编程------不过就是读写文件而已(大道至简)
网络编程很简单:在学校里写程序,你把数据写入文件,从文件中读取数据;在公司里写程序,你把数据写入socket这个“孔”, 从socket这个“孔”中读取数据。2. 读写文件------->recv, send。------->与另外一个socket建立连接。3. 关闭文件------->关闭socket。1. 打开文件------>打开socket。------->显式或隐式命名socket。...
2022-08-30 12:01:57
53
原创 关于MyBatis-plus中为什么要重写ServiceImpl接口中的问题
(4)其实这样我们可以注意到MyBatis-plus中的ServiceImpl接口继承了一个BaseMapper 的接口。1.文章关于包含EduCourse的接口和方法表示自定义的接口和方法,其他接口方法皆为MyBatis-plus中的方法。(2)他却先实现了MyBatis-plus中的ServiceImpl接口再去实现IService接口,(3)直接实现不好吗为什么还要多余的实现这样一个接口呢?(1)但是我们只用代码生成器在service生成的代码接口却是这样的。问题终于真相大白了!...
2022-08-30 10:41:20
1380
原创 idea中设置JVM参数的两种方式
第一步:选择Run下面的Edit Configurations…第二步:第一步打开后,出现如下界面,选择想配置的应用,然后在右侧的VM options设置JVM参数配置完,重新运行项目就行了。
2022-08-30 07:54:58
611
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人