Java相关技术
Rsun04551
也许当我老了,也一样Code;不为别的,只为了爱好。
展开
-
【navicat 密码查看】小技巧navicat 如何查看密码
这小玩意儿还挺给力。原创 2023-03-03 14:22:13 · 843 阅读 · 0 评论 -
Java中String、StringBuffer和StringBuilder字符串拼接原理
这样的操作,貌似a变量被改变了,实际这只是一种假象,JVM对于这几行代码是这样处理的:首先创建一个String对象a,并把“hello”赋值给a,然后JVM又创建了一个新的对象也名为a,把原来的a的值和“ world”加起来再赋值给新的a,而原来的a就会被JVM的垃圾回收机制(GC)给回收掉了,所以,a并没有被更改,也就是前面说的String对象一旦创建之后就不可更改了。所以,Java中对String对象进行的操作实际上是一个不断创建新的对象并且将旧的对象回收的一个过程,执行速度很慢。原创 2020-02-27 20:43:14 · 1028 阅读 · 0 评论 -
如果两个对象的哈希码相同则他们不一定相同,如果对象一致则哈希码一定相同
当新添加一个元素的时候首先调用这个元素的hashCode方法,得到的哈希码作为这个元素的存储地址,如果这个地址上没有元素,则直接存储在这个地址上;如果这个地址上有元素,在调用equals方法比较,相同则不再存储,不相同的话就会产生冲突,会产生一个链接表,将这两个元素串起来放在同一个哈希码指定的位置上,而实际上会尽量避免哈希冲突。hashCode()和equals()都是Object类中的一个方法,String类中重写了两个方法,使得比较的是字符地址指向的内容。原创 2018-11-29 12:24:45 · 3817 阅读 · 1 评论 -
JVM 内存设置参数详解
其中–launcher.XXMaxPermSize(注意最前面是两个连接线)跟-XX:MaxPermSize参数的含义基本是一样的,我觉得唯一的区别就是前者是eclipse.exe启动的时候设置的参数,通过上面对JVM内存管理的介绍我们已经了解到JVM内存包含两种:堆内存和非堆内存,另外JVM最大内存首先取决于实际的物理内存和操作系统。2) -Xmx的值和-XX:MaxPermSize的总和超过了JVM内存的最大限制,比如当前操作系统最大内存限制,或者实际的物理内存等等。原创 2018-12-18 09:55:11 · 1483 阅读 · 1 评论 -
List<String> 和 ArrayList<String>的区别(简单易懂)
声明ArrayList list=new ArrayList()与List list=new ArrayList()都是可以的,但是前者不推荐,因为后者声明的对象更灵活。有时候很多需求只能用一个list,内存有限,或者线程同步,不能有更多的集合对象,使得List总的接口来管理对象。原创 2019-07-16 10:25:08 · 3031 阅读 · 1 评论 -
安装JDK时为什么要配置环境变量
任何软件运行,计算机都需要先找到该软件的位置,有时该软件的路径名特别长,这时需要定义一个变量去代替这个路径名,在计算机有个统一存放变量的位置,就是经常提到的环境变量,所以需要在环境变量里使用JAVA_HOME来定义jdk的安装路径,比如Eclipse、IDEA或者其他IDE都是通过JAVA_HOME来引用并使用jdk中的内容。:作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。问题就在这里,shell(命令解释器)在执行你输入的命令时,会到。原创 2018-10-27 11:07:36 · 1419 阅读 · 1 评论 -
Maven面试题及答案
3、有助于多模块项目开发,比如一个模块开发好后发布到仓库,依赖该模块时可以直接从远程仓库更新,不用自己手动去编译。4、有很多插件,便于扩展,比如:生产站点,自动发布版本。2、maven采用约定大于配置的策略,出现问题很难调试。2、方便与持续集成工具(Jenkins)整合。3、当依赖很多时,m2仓库会使开发工具变卡。1、maven是个庞大的工具,学习成本大。1、Maven有哪些优点和缺点。2、Maven的生命周期。1、简化项目依赖管理。原创 2023-02-13 11:56:50 · 957 阅读 · 0 评论 -
彻底解决 Intellij IDEA 卡顿 优化笔记
彻底解决 Intellij IDEA 卡顿 优化笔记转载 2022-02-26 13:49:46 · 283 阅读 · 0 评论 -
浅谈slf4j,logger中的{}功能
slf4j有一个common logger没有的功能,字符串中的{}会被替换,如下:logger.info("Hello {}","world");这个功能看起来好像很厉害。那实质上slf4j的工程师到底做了什么?会比我们单纯的字符串拼接更快吗?在slf4j-api:1.7.21这个版本的slf4j的jar中,找到MessageFormatter类,里面有一段代码。 final public static FormattingTuple arrayFormat(final String messa原创 2022-02-01 14:35:51 · 1196 阅读 · 0 评论 -
Java8新特性之Optional类
先介绍一下API,采取类比的方式来讲,同时结合源码。原创 2021-06-27 23:16:44 · 633 阅读 · 4 评论 -
IDEA取消包名折叠设置
点击上面设置按钮打开后将 flatten packages 和 hidden empty middle packages勾选上,效果就和eclipse中的包一样了,不会折叠。看起来更方便一些。设置示意图:原创 2021-06-25 09:20:15 · 1431 阅读 · 0 评论 -
IDEA遇到项目包后面出现% classes,% lines covered该怎么解决
快捷键 ctrl +alt +F6删除就可以了呢原创 2021-06-24 22:15:58 · 199 阅读 · 0 评论 -
IDEA:sonar插件使用——sonarlint
sonar是一款代码质量管理工具,下面介绍下插件的使用方式sonar的插件名称为sonarlint.选择file→settings→plugins→输入sonarlint在安装插件的过程中很可能会安装失败,简单的处理方式如下:settings->system settings->updates下面的Use secure Connetion去掉安装完重启之后就可以了。使用sonarlint右键项目进行如下操作执行之后可以看到如下信息,如果代码中有不合理的地方会在report中显原创 2021-06-22 10:21:57 · 893 阅读 · 0 评论 -
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener引发的血案
解决方案:0.看项目中是否部署了Maven Dependencies,如下图,如果没有的话,到pom文件中查看依赖中是否存在标签,如果存在的话删除掉,再重新刷新下项目。这个标签的作用只是声明依赖,并不实现依赖的引入,因此,没有jar包的引入,maven项目就不会显示Maven Dependencies文件。1.右键点击项目–选择Properties选择Deployment Assembly...原创 2019-04-04 10:41:31 · 159 阅读 · 0 评论 -
在idea中配置 gitignore忽略文件
使用.ignore插件生成忽略文件的作用范围是当前文件所在目录,以及其目录下的所有文件.因此,想要.ignore文件生效,应当将它放在项目目录下,这样就对整个项目的文件生效了。如何优雅的添加.ignore 忽略不必要提交的文件。原创 2020-03-07 11:05:30 · 1743 阅读 · 0 评论 -
使用git将本地项目推送到码云私有仓库
1、打开Git Bash,进入到要提交项目的目录下,例如:2、初始化:git init3、在码云上新建仓库,然后复制ssh4、在本地库上使用命令git remote add把它和码云的远程库关联:git remote add gitee git@gitee.com:xhy2019/xczxCloud.git5、查看是否关联:git remote -v6、如果是第一次执行,可以先...原创 2019-12-07 16:29:06 · 336 阅读 · 0 评论 -
idea git提交代码步骤
<!--一个博主专栏付费入口结束--> <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-4a3473df85.css">&l...转载 2019-11-27 15:24:31 · 330 阅读 · 0 评论 -
Git从入门到精通
Git的诞生很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。与CVS和SVN的区别:这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。Git命令的使用...原创 2019-11-19 13:23:08 · 260 阅读 · 1 评论 -
自动生成纯文本表格的工具
自动生成纯文本表格的工具有时候需要写文档的时候生成这种纯文本表格,这个工具真的很方便,贴上数据就可以了。原创 2020-09-07 15:07:11 · 303 阅读 · 0 评论 -
判空工具类
package utils;import org.apache.commons.lang.StringUtils;import java.util.*;/** * 〈判空工具类〉 * 非空加!关键字即可 * * @author Barrett * @version 1.0.0 * @time 2020/1/6 */public class ValidateUtil {...原创 2020-01-11 14:31:31 · 165 阅读 · 0 评论 -
随机码生成工具类
package utils;import java.util.UUID;/** * 〈随机码生成工具类〉 * * @author Barrett * @version 1.0.0 * @time 2020/1/6 */public class GenerateNoUtil { //默认设置UUID长度 private static final int DEF...原创 2020-01-11 14:30:56 · 247 阅读 · 0 评论 -
计算日期工具类
package utils;import org.apache.commons.lang.StringUtils;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.uti...原创 2020-01-11 14:30:21 · 205 阅读 · 0 评论 -
微信小程序商城 (后台JAVA)
技术选型 1 后端使用技术<ul><li style="margin-left:0px;">1.1 springframework4.3.7.RELEASE</li> <li style="margin-left:0px;">1.2 mybatis3.4.1</li> <li style="margin-left:0px...原创 2019-06-14 10:12:50 · 3820 阅读 · 1 评论 -
Linux环境下安装nginx
1.Nginx安装环境Nginx是C语言开发,建议在linux上运行,本教程使用Centos7.0作为安装环境.1)gcc安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc需要执行的命令:yum install gcc-c++2)PCREPCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上原创 2021-04-07 15:51:34 · 223 阅读 · 0 评论 -
解决Idea按Alt+Enter键无效
打开idea > setting >intention 有一个选项勾一下,搞定原创 2020-12-05 17:17:34 · 949 阅读 · 0 评论 -
Jenkins
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。作用:监控持续重复的工作,比如:每次项目提交过后,都要通过Jenkins进行项目的自动构建,执行一系列重复的工作。通过svn路径就可以进行版本的控制,非常的易用。https://blog.csdn.net/u010789532/article/details/54953227JIRA:JIRA是Atlassian(悉尼的软件开发商)公司出品的项目与原创 2020-07-27 16:19:57 · 146 阅读 · 0 评论 -
IDEA的使用及配置
1、与Eclipse的对比Project并非对应Eclipse的workspace,Module对应Project没有了Eclipse中的自动编译,需要Ctrl+F9手工编译,不过耗费的内存比EE版本少了很多自带的 Darcula主题真心不错;版本管理 集成了SVN、GIT、Spring,非常方便,不再需要安装一堆插件;流畅度完胜Eclipse,特意试验了下cancel,Eclipse会转很久,IDEA非常快;代码提示 这个估计是Idea最强大的功能,写JSP的时候还是没有sublime方便,于原创 2020-07-27 16:18:57 · 132 阅读 · 0 评论 -
XShell使用教程
1、XShell中查看tomcat报错日志:新建会话:用户名和密码:tomcat/Tomcat-dev主机:10.10.0.150,SSH协议,22端口cd /usr/local/tomcat-8.0.38/logs/tail -1000f catalina.out最新版测试环境:用户名和密码:logquery/密钥文件主机:10.200.111.155,SSH协议,5622端口2、复制和粘贴由于在linux的Shell下,Ctrl+c是中断当前指令,这个快捷键和win系统下的复制快捷键原创 2020-07-27 16:15:27 · 965 阅读 · 0 评论 -
SVN的使用
1、忽略的文件:target、.project、.classpath、.settings将maven项目提交到svn时,应该避免将target目录及eclipse配置文件 (.project,.classpath,.settings)提交,因为这些文件都是可以从源代码和pom文件重新生成的,没有必要再进行版本控制, 如果提交到svn中反而容易引起冲突和不便。2、博主现在正在实验室帮助资本主义干活,鉴于以前在实习的时候入过svn的坑,所以还是建议各位使用svn时候小心一些。1、更新就是别人的代码提交过原创 2020-07-27 16:13:59 · 185 阅读 · 0 评论 -
Dubbo和Zookeeper
由于淘淘商城是基于SOA架构,表现层和服务层是不同的工程,所以要实现商品列表查询需要两个系统之间进行通信。如何实现远程通信?1、Webservice:基于soap协议解析xml数据所以效率不高,项目中不推荐使用。2、使用Restful形式的服务:http+json,很多项目中应用,如果服务太多,服务之间调用关系混乱,需要治疗服务。–应用于小型网站。3、使用Dubbo:使用RPC协议进行远程调用,直接使用Socket通信,传输效率高,并且可以统计出系统之间的调用关系、调用次数。—缺点:只能是Java与原创 2020-07-27 16:05:22 · 126 阅读 · 0 评论 -
RPC和HTTP接口
rpc是远程过程调用,http超文本协议,rpc主要工作在http协议之上,效率要高于http协议rpc架构包含四个核心组件:Client、Server、Client Stub、Server Stub客户端:服务调用方服务器:服务提供者根客户端:存放服务器地址信息,再将客户端的请求参数打包成网络信息,然后通过网络远程给服务器根服务器:接收客户端发送过来的消息,将消息解包,并调用本地方法根客户端调用客户端传递的消息,然后处理后返回消息给客户端,服务器类似客户端和服务器之间通过网络消息进行交互r原创 2020-07-27 16:00:29 · 607 阅读 · 1 评论 -
一键清除maven仓库中下载失败的jar包(bat文件)
一键清除maven仓库中下载失败的jar包maven是一款非常优秀的项目管理工具,特别是其对项目使用的依赖包的管理,我们只需在pom.xml文件中配置响应的依赖,其就可以帮助我们自动下载所需要的jar包1.问题来源:很多时候,maven工具帮我们下载jar包的时候,由于种种原因,或断电、或蓝屏、或工具抽风等等等等情况导致我们下载jar包失败,但此时工具已经在我们的maven仓库中创建了...原创 2020-03-07 17:04:31 · 713 阅读 · 0 评论 -
git,github,gitlab,码云的区别
git 是版本控制工具。github https://github.com/和gitlab https://about.gitlab.com/都是基于git仓库的web开发流程代码托管平台。两者的区别是github有私有仓库和共有仓库,私有仓库一般收费,gitlab打破这种限制,可以免费搭建私有仓库,并且可以部署在自己的服务器上。gitlab不仅有github的功能,还有更多的优秀特性,比如权限...原创 2019-11-03 22:09:26 · 334 阅读 · 0 评论 -
spring boot 常见http get ,post请求参数处理
spring boot 常见http get ,post请求参数处理 在定义一个Rest接口时通常会利用GET、POST、PUT、DELETE来实现数据的增删改查;这几种方式有的需要传递参数,后台开发人员必须对接收到的参数进行参数验证来确保程序的健壮性 GET 一般用于查询数据,采用明文进行传输,一般用来获取一些无关用户信息的数据 POST 一般...转载 2018-10-22 11:12:23 · 594 阅读 · 0 评论 -
Eclipse中JRebel热部署神器的配置
1、安装下载直接下官方正版的就好了eclipse-&gt;help-&gt;eclipse marketplace 搜索JRebel然后按步骤一步步安好安装好记得重启2、注册这东西在搞活动好像是,可以直接免费买一个,好像还没时间限制,攻略:http://jingyan.baidu.com/article/647f01159d3...原创 2018-10-25 11:40:37 · 1142 阅读 · 0 评论 -
程序员,就要有一套自己的终极装备
作为我们程序员来讲,是一个长时间在电脑端工作的职业。我们程序员在编程的江湖中,如果仗剑走天涯的话,不仅仅需要一些内在的工具利器,还需要强悍的外设装备。程序员如何高效率的工作呢?这是我们应该一直在面对的方向和话题。我们今天聊一聊,如何用一套自己的终极装备,来提高办公效率,编写代码的效率。我们程序员工作,敲代码如同搬砖,如果你有好的开发工具,...转载 2018-10-29 17:03:55 · 422 阅读 · 0 评论 -
Eclipse常用配置
Eclipse常用配置1.代码自动提示设置1.1 Java代码自动提示Window→Preferences→Java→Editor→Content Assist→Auto Activation→Auto activation triggers for java:将 . 改成以下字符串.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW...原创 2018-11-09 16:17:31 · 171 阅读 · 0 评论 -
eclipse如何优化构建的速度(Building)
在平时的开发中很喜欢做一件事,那就是盯着eclipse的状态栏,看着Build Workspace的进度条一点一点慢慢的走,坐在电脑面前默默不想说话,就是心中总是有十万匹马在奔腾,那匹马似乎叫做“草泥马”。没错,就是下面我标注的位置,我就是喜欢盯着它看,如图:相信不少人都和我遇到过一样的问题,那就是eclipse的Build Workspace真不是一般的慢,后来实在忍不住了,还是想想...原创 2018-11-09 16:32:15 · 484 阅读 · 0 评论 -
高级程序员、研发Leader、技术总监、首席架构师、CTO的区别
一、高级程序员如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员。你定义功能、你做计划推进和管理,他可以带1-2个副手把你规划的功能实现了,他是主力干活者,有技术难题也是他来亲自攻克解决。所以,一个高级程序员,他的职责很清晰:...转载 2018-11-05 09:47:11 · 10436 阅读 · 1 评论 -
Eclipse运行速度优化
我的ECLIPSE运行时速度奇慢,具体表现为:1、只要ECLIPSE启动后,硬盘灯就狂闪,不停的读盘;2、发布TOMCAT经常在0%;3、偶尔CPU占满;网上讲优化的文章无数,但是总是有用的却很少,大部分是转载甚至是抄袭的。在借鉴各个文章的做法并不断尝试后,我的问题终于解决了。1、启动参数的优化;我的启动参数为:-Xms976m -Xmx976m&n...原创 2018-11-22 21:09:34 · 541 阅读 · 0 评论