Java基础
文章平均质量分 73
PlayGrrrrr
文武双全
展开
-
clean,compile,build,install,package区别
clean: 执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件compile:编译命令,只编译选定的目标,不管之前是否已经编译过,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。package:这个命令会在你的项目路径下一个target目录,并且拥有compile命令的功能进行编译,同时会在target目录下生成项目的jar/war文件。如果a项目依赖于b项目,打包b项目时原创 2021-05-18 22:18:37 · 1038 阅读 · 0 评论 -
详解git pull和git fetch的区别:
前言在我们使用git的时候用的更新代码是git fetch,git pull这两条指令。但是有没有小伙伴去思考过这两者的区别呢?有经验的人总是说最好用git fetch+git merge,不建议用git pull。也有人说git pull=git fetch+git merge,真的是这样吗?为什么呢?既然如此为什么git还要提供这两种方式呢?1. 相同点首先在作用上他们的功能是大致相同的,都是起到了更新代码的作用。2. 不同点先补充一些git里面相关的一些知识:首先我们要说简单说git的运行原创 2021-03-20 10:57:23 · 211 阅读 · 0 评论 -
Git commit/pull/push的操作步骤
1.操作步骤需要严格执行如下顺序:commit->pull->push2.commit:将代码提交到本地仓库。3.pull:将远程仓库代码同步到本地仓库。如遇冲突,解决冲突,重复commit->pull,直到没有冲突。4.push:将本地仓库代码提交到远程仓库。具体讨论如下: 本地和远程的关系相当于两个分支,你感觉一样是因为你gitpull的时候已经自动给绑定好对应关系了, set-upstream..balbala 你远程新建了一个分支拉到本地的道理...原创 2021-03-18 14:59:00 · 5847 阅读 · 0 评论 -
eclipse修改工作的目录顺序
修改.classpath ............................ 将classpathentry顺序调整即可转载 2016-03-30 11:38:32 · 4024 阅读 · 0 评论 -
触发JVM进行Full GC的情况及应对策略
堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示:从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本的JDK里默认包括了对永生带即方法区的回收(JDK8中无永生带了),出现Full GC的时候经常伴随至少一次的Minor转载 2017-06-26 10:44:36 · 445 阅读 · 0 评论 -
JVM 基础知识
几年前写过一篇关于JVM调优的文章,前段时间拿出来看了看,又添加了一些东西。突然发现,基础真的很重要。学习的过程是一个由表及里,再由里及表的过程,所谓的“温故而知新”。而真正能走完这个轮回的人,也就能称为大牛或专家了。这个过程可能来来回回,这就是所谓“螺旋上升”,而每一次轮回都有新的发现。 这回添加的东西主要集中在基础的一些问题上,还有一些这两年思考的问题。这些问题可能平时我们不会转载 2017-04-13 16:52:04 · 246 阅读 · 0 评论 -
ClassLoader背景知识
前几天想了一下,最近主要学习linux和httpd,所以tomcat源码阅读先放一放,可能到9月份左右再继续。不过先把已经写好的几篇陆续贴上来 tomcat用到很多ClassLoader相关的代码,如果缺乏这方面的背景知识,阅读源码会遇到很多障碍,所以本文首先总结一下这方面的内容,和tomcat源码的关系不大 1 标准的ClassLoader体系 1.1 boot转载 2016-08-07 19:39:34 · 333 阅读 · 2 评论 -
Spring-@value用法详解与苏宁框架vars的解释
1、SpringMVC中的配置2、配置文件本身3、代码中的调用原创 2018-07-15 10:33:23 · 295 阅读 · 0 评论 -
crontab用法
1、星期日-星期六分别对应1-72、日与星期字段中必须有一个值为?3、年字段可以不写(6个或7个都可以)4、0/n写法表示:从0开始每隔n表达式字段:秒 分钟 小时 日 月 星期(日-六 1-7) 年(可选)表达式: 0 0/20 12 ? * 5 *含义:每周四的12:00:00,12:20:00,12:40:00表达式: 0 0/20 12 *...原创 2018-08-18 23:13:02 · 247 阅读 · 0 评论 -
Token ,Cookie和Session的区别
Cookiecookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,...转载 2018-08-19 23:03:27 · 347 阅读 · 0 评论 -
APP与WAP
app就是application,是软件应用。智能手机内置很多应用,有一个图标,点击进去使用的,就是app; wap网站,你可以理解为要打开像UC浏览器这样的应用,然后在里面输入一个地址(你理解为网页地址就好了,只是wap地址会以适应手机的屏幕用更友好的方式展示而已),如百度地图的wap网站为:wap.baidu.com...原创 2018-08-21 11:29:41 · 870 阅读 · 0 评论 -
Eclipse快捷键
Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。 1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个原创 2016-12-28 14:20:04 · 251 阅读 · 0 评论 -
Eclipse调试时出现source not found的问题
Eclipse中新加载了一个java项目,打断点debug时,Debug小窗口显示source not found,网搜找到了解决办法,在此记录一下。解决方法:1. 点击debug窗口中的'Edit Source Lookup Path'按钮。2. 在弹出窗口中点击'Add'按钮。3. 在弹出窗口中点击'Project'选项。4. 选择自转载 2017-07-20 16:06:45 · 851 阅读 · 0 评论 -
spring容器的懒加载
默认情况下,spring的IOC容器中lazy-init是false的,即没有打开懒加载模式。 如果你没有看到这个lazy-init 的参数设置就说明是false啦。 那么什么是懒加载? 懒加载---就是我们在spring容器启动的是先不把所有的bean都加载到spring的容器中去,而是在当需要用的时候,才把这个对象实例化到容器中。 例如我有如下的代码:转载 2016-05-03 16:50:04 · 1053 阅读 · 0 评论 -
socket解读,http和socket之长连接和短连接区别!
TCP/IP TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。;在应用层有:通过TCP协议来通信的应用层协议包括FTP、HTTP、TELNET、SMTP等 ; 通过UDP协议来通信的应用层协议包括DNS、TFTP等转载 2017-01-16 22:49:21 · 306 阅读 · 0 评论 -
关于Java的静态初始化块
这里我们主要讨论下静态初始化块这种情况。 静态初始化块是在类被加载的时候就执行的一块程序,并且一直存在直到程序关闭。也就是说当程序被执行,即classloader将该java程序编译后的class文件加载后,就能执行到静态初始化块这段程序;当程序关闭,我的个人理解也就是java.exe进程被结束的时候,静态初始化块结束(例如在静态初始化块里对一个类的静态变量进行赋值,该变量一直存在转载 2017-04-10 17:23:36 · 382 阅读 · 0 评论 -
MVC的理解
HTML—Controller—Service—DAO—Mapper—SQL(数据库)。我们都知道,标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码,不会影响我其他层代码,如果你会像spring这样的框架,你会了解面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。初期也许转载 2017-05-08 14:43:48 · 454 阅读 · 0 评论 -
jar包和war包差别
之前并没有接触过java,所以这里的疑惑都是基础的(1)WAR - Web Archive file通俗的讲,war包时web工程打成的包,英文是Web Archive file网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,而EAR是企业级Jar文件包含内容:Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文转载 2017-04-25 23:27:53 · 524 阅读 · 0 评论 -
关于jdk和jre
大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做。因为这样更能帮助大家弄清楚它们的区别: Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦,还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚转载 2017-04-27 10:16:58 · 374 阅读 · 0 评论 -
Spring@Autowired注解与自动装配
1 配置文件的方法 我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。 Boss 拥有 Office 和 Car 类型的两个属性: 清单 3. Boss.java [java] view pla转载 2016-11-08 15:31:03 · 336 阅读 · 0 评论 -
Spring配置中<bean>的id和name属性区分
1)id与name 属性在作用上基本没有区别。推荐使用id。 2)id取值要求严格些,必须满足XML的命名规范。id是唯一的,配置文件中不允许出现两个id相同的。 3)name取值比较随意,甚至可以用数字开头。在配置文件中允许出现两个name相同的,在用getBean()返回实例时,后面一个Bean被返回。 4)如果没有id,name,则用类的全名作转载 2016-11-08 10:23:48 · 510 阅读 · 0 评论 -
byte和char
byte字节类型是JAVA中最小的数据类型,它在内存中占8位,取值范围从-128到127,赋值:byte i = 127;注:byte型在赋值时,一旦超过127或小于-128,则会产生编译错误。char字符类型在内存中占2个字节。表示一个字符,也可以使用A SCII码范围内的值来给char型的变量赋值。由于字符在内存中的取值不存在负数范围,所有取值范围从0到655原创 2016-10-31 09:31:48 · 507 阅读 · 0 评论 -
maven GroupId 和ArtifactId通常填什么
GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。一般GroupID就是填com.leafive.test这样子。ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。转载 2016-08-23 17:37:14 · 1765 阅读 · 0 评论 -
getContextPath、getServletPath、getRequestURI的区别
WEB转载 2016-07-24 12:52:46 · 243 阅读 · 0 评论 -
byte类型和char类型
byte字节类型是JAVA中最小的数据类型,它在内存中占8位,取值范围从-128到127,赋值:byte i = 127;注:byte型在赋值时,一旦超过127或小于-128,则会产生编译错误。char字符类型在内存中占2个字节。表示一个字符,也可以使用A SCII码范围内的值来给char型的变量赋值。由于字符在内存中的取值不存在负数范围,所有取值范围从0到655原创 2016-10-31 09:34:45 · 1971 阅读 · 0 评论