![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
普通网友
这个作者很懒,什么都没留下…
展开
-
Linux 查看登录日志
在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据。面脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。该日志文件可以用来查看用户的登录记录,原创 2022-09-07 16:40:58 · 2953 阅读 · 0 评论 -
JVM成神之路(十一) -- JVM常用命令解析
System.out.println(Thread.currentThread().getName()+“----if获得obj1锁”);System.out.println(Thread.currentThread().getName()+“----if获得obj2锁”);System.out.println(Thread.currentThread().getName()+“----否则获得obj2锁”);(4)要是在发生堆内存溢出的时候,能自动dump出该文件就好了。(3)dump出堆内存相关信息。原创 2022-09-07 14:12:38 · 272 阅读 · 0 评论 -
JDK、JRE、JVM 三者关系
③ JVM:JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。重点强调一下,不同的操作系统需要安装不同版本的 JDK,有专门的 windows版 JDK,Linux 版 JDK,Mac 版 JDK 等,当然不同版本的 JDK安装之后会对应不同版本的 JRE和 JVM。JDK、JRE、JVM 分别是什么它们之间的关系又是怎样的呢。原创 2022-09-07 11:41:30 · 430 阅读 · 0 评论 -
java时间比较大小
之前有面试到两个日期的大小比较方式,现在整理一下几种方法。原创 2022-09-07 09:06:21 · 361 阅读 · 0 评论 -
Java开发常用服务端口整理
在java开发中常遇到的端口问题,如有错误和遗漏欢迎广大网友留言~每个端口对应的服务是哪些。Win2003远程登录。原创 2022-09-06 17:38:15 · 1515 阅读 · 0 评论 -
Java中简单易懂的HashMap面试题(面试必备)
(无锁化的修改值的操作,他可以大大降低锁代理的性能消耗。这个算法的基本思想就是不断地去比较当前内存中的变量值与你指定的 一个变量值是否相等,如果相等,则接受你指定的修改的值,否则拒绝你的操作。因为当前线程中的值已经不是最新的值,你的修改很可能会覆盖掉其他线程修改的结果。(CAS是一种无锁算法,CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。使用synchronized 加上,但是这个是对某个Hash桶(数组的某个值)加锁,并不是整个map加锁,在锁定的时候别的线程也可以进行访问。原创 2022-09-06 16:13:40 · 250 阅读 · 0 评论 -
java8 .stream().map().collect() 的用法
但是假如你希望将流中结果聚合为一个总和、平均值、最大值、最小值,那么Collectors.summarizing(Int/Long/Double)就是为你准备的,它可以一次行获取前面的所有结果,其返回值为(Int/Long/Double)SummaryStatistics。summarizingInt:统计Stream的数据(int)状态,其中包括count,min,max,sum和平均。map():用于映射每个元素到对应的结果。averagingInt:求平均值,Stream的元素类型为int。原创 2022-09-06 14:53:54 · 890 阅读 · 0 评论 -
java map转对象
1.使用使用org.apache.commons.beanutils进行转换,该方式可以把继承自父类的属性字段也进行赋值,靠谱.2.使用java的reflect进行转换,转换后的对象继承父类的字段没有正确赋值。原创 2022-09-06 13:31:01 · 2082 阅读 · 0 评论 -
IDEA配置tomcat的方法、IDEA配置tomcat运行web项目
1.打开idea,在项目运行列表下拉选择“Edit Configurations”2.点击 左上角的"+">Templates -> Tomcat Server -> Local>ok3.在打开的界面,第一行“Name”中填入tomcat的名称4.然后点击Configure…,在Application Servers界面,点击“+”,在Tomcat Server配置界面选择要添加的已安装的tomcat路径(bin的上一级路径),最后点击“OK”原创 2022-09-06 11:59:52 · 556 阅读 · 0 评论 -
idea中配置Tomcat找不到的解决办法
File—>Settings—>Build, Execution, Deployment —>Application Servers—>”+”这里添加了之后Edit Configuration里面就可以看到Tomcat Server了。4、我们回到配置tomcat的页面,点击Edit Configurations,然后再点击上面的小"+",就可以看到Tomcat Server,从而开始进行正常的Tomcat配置。所以重新下载了一下idea,配置tomcat时发现找不到Tomcat Server。原创 2022-09-06 10:32:11 · 7864 阅读 · 0 评论 -
Hibernate和MyBatis区别
从文档的丰富性,产品的完善性,版本的开发速度都要强于ibatis.。MyBatis非常简单易学,Hibernate相对较复杂,门槛较高。MyBatis更灵活,尤其它的动态SQL,更接近传中的DDL。Hibernate应用相对广泛、映射封装比较深、比较丰富。原创 2022-09-06 09:01:31 · 134 阅读 · 0 评论 -
Hadoop集群的启动顺序
对于hadoop,使用Zookeeper的事件处理确保整个集群只有一个活跃的NameNode,存储配置信息,对于HBase,使用Zookeeper的事件处理确保整个集群只有一个HMaster,察觉HRegionServer的联机和宕机,存储访问控制列表等。Hadoop中的两个NameNode为了数据同步,会使用journalnode的独立进程进行相互通信,必须至少3个节点,个数为奇数个。/zookeeper-3.4.5/bin//hadoop-2.7.1/sbin/1.启动zookeeper集群。原创 2022-09-02 17:17:34 · 2357 阅读 · 0 评论 -
Hadoop2.6.4搭建笔记
所以如果集群以前能启动,但后来启动不了,特别是 DataNode 无法启动,不妨试着删除所有节点(包括 Slave 节点)上的 /usr/local/hadoop/tmp 文件夹,再重新执行一次 hdfs namenode -format,再次启动试试。接着将/etc/hadoop中的文件作为输入文件复制到分布式文件系统中,即将/usr/local/hadoop/etc/hadoop中的xml文件复制到分布式文件系统中的/usr/local/hadoop/input中.上一步已经新建好了文件夹.原创 2022-09-02 15:54:29 · 425 阅读 · 0 评论 -
Hadoop2.2内存调优
可以调整yarn.nodemanager.vmem-pmem-ratio 的比率,默认是2.1,或者加大程序reduce的运行个数进行尝试,这个比率的控制影响着虚拟内存的使用,当yarn计算出来的虚拟内存,比在mapred-site.xml里的mapreduce.map.memory.mb或mapreduce.reduce.memory.mb的2.1倍还要多时,就会发生上面截图中的异常,而默认的mapreduce.map.memory.mb或。具体调大多小,可根据具体情况来设置。原创 2022-09-02 15:53:59 · 249 阅读 · 0 评论 -
etcd vs redis方案对比
redis的注册和发现只能通过pub和sub实现,安全性不能保证(断线重连之后不会将历史信息推送给客户端,需要自己做一个定时轮询),延时也比etcd v3高。redis是一个内存数据库,它的持久化方案有aof和rdb,在宕机时都或多或少会丢失数据。etcd的重点是利用raft算法做分布式一致性,强调各个节点之间的通信、同步,确保各节点数据和事务的一致性,使得服务发现工作更稳定;尽管etcd和redis都是键值存储,随着技术的演进,二者在功能上也有逐渐相似的趋势,但二者在许多方面都有很大区别。原创 2022-09-02 14:30:31 · 307 阅读 · 0 评论 -
elasticsearch官方学习文档
ES官方文档原创 2022-09-02 13:08:03 · 395 阅读 · 0 评论 -
Elasticsearch 如何设计表结构
不同的 Type 应该有相似的结构(Schema),性质完全不同的数据(比如 products 和 logs)应该存成两个 Index,而不是一个 Index 里面的两个 Type(虽然可以做到)。也就是说:有结构的文档经过倒排索引后,字段中的每个值都是一个关键字,存放在左边的 Term Dictionary(词汇表)中,且每个关键字都有对应地址指向所在文档。每个Index的名字必须是小写。答:先保留旧的字段,然后直接添加并使用新的字段,直到新版本的代码全部稳定工作后,再找时间清理旧的不用的字段。原创 2022-09-02 11:48:09 · 1338 阅读 · 0 评论 -
dubbo设置超时时间的方法
消费者Method>提供者method>消费者Reference>提供者Service>消费者全局配置provider>提供者全局配置consumer。1:在服务提供者的实现累加 timeout的是ms。原创 2022-09-02 10:23:46 · 2522 阅读 · 0 评论 -
dubbo安装跟部署
dubbo的所有源码可在https://github.com/alibaba/dubbo上下载。下好之后解压解压后的文件内容,这里你其它的都不用去管,只管dubbo-admin.原创 2022-09-02 09:00:59 · 627 阅读 · 0 评论 -
docker执行权限问题Got permission denied while trying to connect to the Docker daemon socket
上述操作之后,需要重新开一个session,用户再次登录之后,就可以不用sudo来执行docker相关的命令了。但是每次都要加上sudo还是挺麻烦的,因此考虑将用户加到docker组中来解决这个问题。-aG:-a在-G存在的情况下,增加次要用户组的支持,而不是修改当前用户组。...原创 2022-09-01 15:23:43 · 19247 阅读 · 0 评论 -
docker 安装 rabbitmq并添加延迟队列插件
进入rabbitmq控制台页面,查看exchange类型,如果出现。原创 2022-09-01 12:57:25 · 193 阅读 · 0 评论 -
Cannot resolve plugin org.scala-toolsmaven-scala-plugin unknown
IDEA右侧Maven框下:项目 --> Plugins --> clean --> clean:clean;然后再Reimport。首先:IDEA插件自动生成的pom文件中scala的版本是2.7,这里需要修改成与本地scala一致的版本号,我的是2.11.12。最后:在pom文件中右键 Maven–>Reimport;...原创 2022-09-01 10:12:01 · 921 阅读 · 0 评论 -
配置Maven环境变量
我们现在进行项目开发时,项目中一般都会有依赖包的存在,而这些依赖包一般都是利用Maven进行下载管理的。我们使用的很多开发工具,比如jdk、tomcat等,都是需要配置环境变量的,maven也不例外,其配置过程如下。Maven的环境变量配置之后,接下来我们还需要对Maven进行必要的配置,尤其是要配置Maven仓库。设置环境变量时,可以创建一个叫做”MAVEN_HOME“的系统变量名称,值是maven文件夹路径。这个settings.xml文件很重要,里面可以配置maven的仓库,私服,jdk等。...原创 2022-08-31 10:35:41 · 523 阅读 · 0 评论 -
记一次升级maven的坑(idea 2021.3.2; maven3.5.0升级3.8.5)
idea里面你有没有配置好本地的maven呀,另外注意一点idea的版本和maven的版本有关联。如果不匹配建议降低maven版本,通常maven3.6版本即可。cmd执行mvn -v,mvn help:system成功,xml文件改过了本地仓库、镜像下载地址、jdk版本信息,maven 配置问题,在idea中一直build失败。idea 2020 可以使用3.6左右以及以前的版本。解决方案: maven 退到 3.8.4 问题解决。解决maven配置问题,根据教程,修改了环境变量、路径,...原创 2022-08-31 09:10:21 · 1174 阅读 · 0 评论 -
订阅RabbitMQ发布的消息,通过WebSocket实现数据实时推送到前端上显
因此,我们可以使用RabbitMQ的订阅发布技术,订阅后,当RabbitMQ端有新的数据就直接发布到指定的queue,订阅端接收到订阅队列的数据直接通过WebSocket推送到前端,前端拿到数据之后实时解析上显,此过程相比传统的Rest接口定时请求,减去了数据入库、读库、客户端不断的请求服务器和刷新页面,大大的减小了服务器的压力和减少了请求时间。到这里,即可通过RabbitMQ发布消息,Server端接收到订阅的消息后就会通过WebSocket往前端推送消息。(1)项目依赖包,maven管理。...原创 2022-08-30 17:35:16 · 2213 阅读 · 1 评论 -
解决Failed to convert value of type ‘java.lang.String‘ to required type ‘java.lang.Integer
直接去掉{}和@PathVariable注释,容易找不到对应的参数类型,希望对大家有用,问题已解决。问题:使用postman测试接口报错:类型转换异常。原创 2022-08-30 16:10:17 · 3889 阅读 · 1 评论 -
网络编程中常见错误码总结
当一个套接字已经关闭了以后,如果我们继续写这个套接字,你并不会察觉有什么异常,返回值告诉你,你写成功了,但是如果通过wireshark抓包,你会发现,接收端回复了一个RST,这个RST你根本就不知道.你唯一检测它的办法是读一下这个套接字,此时会返回0,你才发现,原来连接已经断开了.好吧,我假设我不管它,继续写,此时程序就会异常崩溃.是什么导致了程序的崩溃呢,就是SIGPIPE,这个信号的默认行为就是终止进程.: 如果你的套接字是阻塞的,你可能会在某个时间段内发不出数据,此时你就会收到ETIMEOUT。...原创 2022-08-30 14:44:26 · 472 阅读 · 0 评论 -
清空maven缓存
U clean compile //清空maven缓存。原创 2022-08-30 13:14:42 · 2722 阅读 · 0 评论 -
服务器中的tomcat能正常启动,但项目无法加载的问题
将项目打成war包,拖到tomcat安装目录的webapps目录下,直接通过startup.bat启动tomcat,访问响应资源,运行成功。我在windows中装的是jdk1.9,而服务器中装的jdk1.8,因此就出现项目在本地能正常发布,但是在服务器中就加载不了的情况。在IDEA中创建的项目,代码编写完成后,可以通过IDEA直接启动tomcat运行,运行成功。发现这个问题很多人都遇到过,但是问题产生的原因却是千奇百怪,因此不能指望有万能的解决方法。文件的运行版本高了,当前的运行环境解析不了。...原创 2022-08-30 11:48:30 · 2327 阅读 · 0 评论 -
业界主流的RPC框架有哪些,Dubbo与Hadoop RPC的区别
业界主流的RPC框架有哪些?Dubbo与Hadoop RPC的区别?原创 2022-08-30 10:27:12 · 349 阅读 · 0 评论 -
springboot2.3.9使用spring data elasticsearch兼容低版本es(6.X)
项目中的springboot版本为2.3.9,默认的spring.data.elasticsearch版本为4.0.9.RELEASE,支持的es版本为7.6.2,7.X的版本应该也能兼容,但是6.X的版本就兼容不了了。我们刚好有个地方的项目没法修改es的版本,那边版本是6.x的,也我们产品中的操作es的接口版本冲突。...原创 2022-08-30 08:59:47 · 450 阅读 · 0 评论 -
mysql command not found 找不到mysql命令
3.创建链接:我的是在这个目录下/usr/local/mysql/bin/mysql。1.命令都是保存在/usr/bin下,找不到命令一定是没有在bin下创建链接。2.下一步找到mysql的命令的位置。可以通过ls查看bin下的所有命令。linux输入mysql没有启动。出现这样的结果就是成功了。4.再次启动mysql。mysql找不到命令。...原创 2022-08-29 14:37:52 · 1538 阅读 · 0 评论 -
Linux内核源码下载
ps:Linux版本分为:mainline(主线版本)、stable(稳定版本)、longterm(长期演进版本)(1)如果想直接下载压缩资源,点击Download下对应的压缩包即可下载(或者访问。(2)如果想通过git命令下载资源,git clone +下面的链接。step4:资源下载,选择summary,拉到最下方?step3:进入之后,默认打开界面是tree型?step2:点击某一个版本对应的browse?step5:代码更新及切换tag?,选择你想要版本,直接选择下载即可。,进入之后,页面如下?..原创 2022-08-29 13:17:34 · 1731 阅读 · 0 评论 -
Hadoop学习笔记(三):java操作Hadoop
在core-site.xml文件中将dfs.permissions.enabled配置为false,或者输入以下命令hadoop fs -chmod 777 /修改hadoop根目录的权限(危险,不推荐),还有一个方法是在windows机器上配置一个环境变量HADOOP-USER_NAME,还有一种方法是将。修改core-site.xml文件vim /usr/local/hadoop/etc/hadoop/core-site.xml将这个值修改到/var/hadoop目录下。//判断文件或者目录是否存在。.原创 2022-08-29 11:56:42 · 1512 阅读 · 0 评论 -
整合shiro+jwt+redis,实现会话共享
项目视频:https://www.bilibili.com/video/BV1PQ4y1P7hZ/参照文档:https://www.zhuawaba.com/post/17第一步:导入shiro-redis的starter包以及jwt的工具包官方文档:https://github.com/alexxiyang/shiro-redis/blob/master/docs/README.md#spring-boot-starter第二步:编写配置ShiroConfig第三步:AccountRealm原创 2022-08-29 10:18:46 · 329 阅读 · 0 评论 -
如何在IDEA上创建一个Maven项目2022版
maven是一个构建工具功能:① 把编译好的.class文件打包成一个.jar文件② 依赖管理(一个复杂的程序通常会依赖)使用的时候,需要把对应的jar包下载下来,导入工程中首先 IDEA有自带maven 如有需要也可去官网下载自己需要的版本打开IDEA 快捷键 Ctrl+Alt+S 出现下面视窗 点击小箭头找到自己存放maven的路径setting是用来配置去哪下载依赖的jar包repository是下载的jar包存放的本地仓库路径。...原创 2022-08-28 07:33:14 · 4602 阅读 · 0 评论 -
在controller中用接Map集合接收参数
在controller中用Map map去接收参数,前台传来的是json字符串,后端如果需要用的字段比较少的话,就不用去创建一个实体了,直接可以用map去接收。map接收过来的字符串也是KV形式的,就是json形式。...原创 2022-08-28 05:02:23 · 1484 阅读 · 0 评论 -
关于mybatis插入(insert)语句返回值问题
【代码】关于mybatis插入(insert)语句返回值问题。原创 2022-08-28 02:30:57 · 7129 阅读 · 1 评论 -
使用idea配置本地tomcat
1,下载tomcat,直接去apache官网或者csdn下载即可,tomcat下载不用安装,如果有需要直接改下本地server.xml配置即可,或者直接使用默认配置也是可以的,默认8080端口,这就不用多说了。近期接手的项目,开发环境需要配置tomcat来做做项目启动,这边先总结下,idea中配置本地tomcat的详细过程。3,添加启动模板,因为我们需要配置tomcat,我们对应的模板下找到tomcat模板即可。4,添加tomcat,如图示,选中自己本地的tomcat即可,很简单。...原创 2022-08-27 08:04:20 · 1595 阅读 · 1 评论 -
【解决】mysql本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
5 查看 mysql 重置的密码,用记事本 打开 data 文件夹下的 .err 文件,搜索 password ,会看到密码重置,由于随机密码不好记,这个时候需要自己重置密码。1 找到 Mysql 的安装路径,看看有没有data文件夹,如果没有data文件夹,自己重新建一个;如果有的话,就把里面的内容全部清空,但保留该目录。6 输入mysql –u root -p 输入上述密码 进入 mysql 环境,【以上是我的解决过程,希望可以帮到您!4 然后结束后,在命令行输入。7 然后更改自己能够记忆的密码。...原创 2022-08-27 05:35:21 · 689 阅读 · 0 评论