- 博客(235)
- 收藏
- 关注
原创 java中堆内存与栈内存的知识点总结
堆内存:1、什么是堆内存? 堆内存是Java内存中的一种,它的作用是用于存储Java中的对象和数组,当我们new一个对象或者创建一个数组的时候,就会在堆内存中开辟一段空间给它,用于存放。2、堆内存的特点是什么?第一点:堆其实可以类似的看做是管道,或者说是平时去排队买票的的情况差不多,所以堆内存的特点就是:先进先出,后进后出,也就是你先排队,好,你先买票。第二点:堆可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,但缺点是,由于要在运行时动态分配内存,存取速度
2020-07-21 09:35:30
288
转载 判断素数最有效的算法
定义约数只有1和本身的整数称为质数,或称素数。1 常规方法判断根据定义,因为质数除了1和本身之外没有其他约数,所以判断n是否为质数,根据定义直接判断从2到n-1是否存在n的约数即可。Java代码如下: 1 /** 2 * 判断是否为素数/质数的常规方法 3 * 判断n是否为素数,根据定义直接判断从2到n-1是否存在n的约数即可 4 * @param num 5 * @return 6 */ 7 public.
2020-07-21 08:52:22
331
原创 cmd命令行下运行Java程序,无法识别中文
public class HelloWorld{ public static void main(String[] args){ System.out.println("沙发上地方Hello World!!!"); }}1.在命令行执行的时候,可以在javac 后面加上:-encoding UTF-8,完美解决:
2020-07-14 10:11:39
965
转载 大白话解说,半分钟就懂 --- 分布式与集群是什么 ? 区别是什么?
一、大白话解说,半分钟就懂,用生活中的例子来说明:小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,再请了个配菜师负责切菜,备菜,备料 ... 厨师和配菜师的关系是分布式。一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。一个配菜师因故请假了,但是其余的配菜师还是该啥就干啥,只是没请假的配菜师任务均匀的加量了,但他们的任务和职责是不变的,...
2020-07-10 16:25:49
168
原创 ArrayList和LinkedList的区别、优缺点以及应用场景
ArrayList和LinkedList都是实现了List接口的容器类,用于存储一系列的对象引用。他们都可以对元素的增删改查进行操作,那么他们区别、优缺点应用场景都有哪些呢?我们通过源码和数据结构来说明一下ArrayList和LinkedList的大致区别如下:ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表结构。对于随机访问的get和set方法,ArrayList要优于LinkedList,因为LinkedList要移动指针。对于新增和删除操作add和remove
2020-07-10 15:21:20
1000
原创 Eclipse 2018 反编译
一、安装1.help -- Eclipse Marketplace...2.输入Decompiler搜索并安装此插件,Enhanced Class Decompiler 3.0.03.勾选上所有的反编译插件4.接受条件5.点击ok继续安装6.yes 重启eclipse7.window -- Preferences 进入设置页面8.对反编译器( Decompiler)进行配置...
2020-07-08 13:46:07
424
原创 HashCode的作用原理和实例解析
1. HashCode的特性(1)HashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,HashCode经常用于确定对象的存储地址;(2)如果两个对象相同, equals方法一定返回true,并且这两个对象的HashCode一定相同;(3)两个对象的HashCode相同,并不一定表示两个对象就相同,即equals()不一定为true,只能说明这两个对象在一个散列存储结构中。(4)如果对象的equals方法被重写,那么对象的HashCode也尽量重写。本文.
2020-07-08 12:06:07
924
原创 Java中的hashCode方法和hashCode值
java中的类都有一个hashCode方法,这个方法用来生成hashCode值,这个值是根据一定的规则将与对象相关的信息(比如对象的存储地址,对象的字段等)生成的,这个值的作用是为了提高集合类的性能,例如HashSet、HashMap以及HashTable。我们可以调用对象的hashCode方法来生成hashCode值,因为两个不同的对象可能会有相同的hashCode值,所有不能通过hashCode值来判断两个对象是否相等,但是可以直接根据hashcode值判断两个对象不等,如果两个对象的hashcod
2020-07-08 11:57:47
389
原创 eclipse - 自定义注释模板(Code Template)
编辑注释模板的方法:Window->Preference->Java->Code Style->Code Template然后展开Comments节点就是所有需设置注释的元素啦。现就每一个元素逐一介绍:1.文件(Files)注释标签:/** * All rights Reserved, Designed By www.witsforce.com * @Title: ${file_name} * @Package ${package_name} *.
2020-07-01 10:47:43
698
原创 xhtml、html与html5的区别
一、基本概念:html:超文本标记语言 (HyperTextMarkupLanguage)xhtml:可扩展超文本标记语言,是一种置标语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。h5:最先由WHATWG(Web 超文本应用技术工作组)命名的一种超文本标记语言,随后和W3C的xhtml2.0(标准)相结合,产生现在最新一代的超文本标记语言。可以简单点理解成:h5≈ html+CSS 3+js+API。html特性:标识文本。例如:定义标题文本、段落文本、列表文...
2020-06-26 12:21:39
1260
原创 Java中的条件运算符
条件运算符( ? :)也称为 “三元运算符”。语法形式:布尔表达式 ? 表达式1 :表达式2运算过程:如果布尔表达式的值为true,则返回表达式1的值,否则返回表达式2的值例如:因为,表达式 8>5 的值为 true ,所以,返回:8大于5...
2020-06-13 11:04:20
639
原创 Java中的逻辑运算符
逻辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示:我们可以从“投票选举”的角度理解逻辑运算符:1、与:要求所有人都投票同意,才能通过某议题2、或:只要求一个人投票同意就可以通过某议题3、非:某人原本投票同意,通过非运算符,可以使其投票无效4、异或:有且只能有一个人投票同意,才可以通过某议题当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。譬如:( one > two) && ( one < three )中,...
2020-06-13 11:03:08
918
原创 Java中的比较运算符
比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。Java 中常用的比较运算符如下表所示:注意哦:1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型...
2020-06-13 11:02:23
1281
原创 Java中的赋值运算符
赋值运算符是指为变量或常量指定数值的符号。如可以使用“=” 将右边的表达式结果赋给左边的操作数。Java 支持的常用赋值运算符,如下表所示:
2020-06-13 11:01:28
363
原创 Java中的算术运算符
算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。Java 中常用的算术运算符:其中,++和--既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴例1:运行结果:例2:运行结果:一定要注意哦!自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误滴!...
2020-06-13 11:00:39
302
原创 Java中的强制类型转换
相信小伙伴们也发现了,尽管自动类型转换是很方便的,但并不能满足所有的编程需要。 例如,当程序中需要将 double 型变量的值赋给一个 int 型变量,该如何实现呢?显然,这种转换是不会自动进行的!因为 int 型的存储范围比 double 型的小。此时就需要通过强制类型转换来实现了。语法:( 数据类型 ) 数值运行结果:可以看到,通过强制类型转换将 75.8 赋值给int 型变量后,结果为 75,数值上并未进行四舍五入,而是直接将小数位截断。明白了吧,强制类型转换可能...
2020-06-13 10:52:49
164
原创 Java中的自动类型转换
在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。例如:,代码中 int型变量 score1可以直接为 double 型变量 score2 完成赋值操作,运行结果为:82.0这种转换称为自动类型转换。当然自动类型转换是需要满足特定的条件的:1. 目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型2. 目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 do...
2020-06-13 10:51:45
1347
原创 java的数据类型
通常情况下,为了方便物品的存储,我们会规定每个盒子可以存放的物品种类,就好比在“放臭袜子的盒子”里我们是不会放“面包”的!同理,变量的存储也讲究“分门别类”!Java 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。 Java 中有两类数据类型:在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,
2020-06-13 09:15:20
140
原创 JAVA的四类八种基本数据类型
通常情况下,为了方便物品的存储,我们会规定每个盒子可以存放的物品种类,就好比在“放臭袜子的盒子”里我们是不会放“面包”的!同理,变量的存储也讲究“分门别类”!Java 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。 Java 中有两类数据类型:在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,
2020-06-12 17:39:27
1532
原创 java变量
什么是变量??简单的说,我们可以把变量看作是个盒子,可以将钥匙、手机、饮料等物品存放在这个盒子中,也可以在需要的时候换成我们想存放的新物品。在 Java 中,我们通过三个元素描述变量:变量类型、变量名以及变量值。如果我们把变量比作是酒店的房间,要存储的数据就好比要住宿的客人,我们可以根据客人的要求安排其入住“标准间”或者是“总统套房”,并且可以根据房间名字快速查找到入住客人的信息。同理,在 Java 程序中,我们也可以根据所需要保存的数据的格式,将其保存在指定类型的变量空间中,并且通过变量名
2020-06-12 16:57:17
150
原创 java 标识符
在计算机编程语言中,标识符是用户编程时使用的名字在程序设计语言中,标识符是用作程序的某一元素的名字的字符串或用来标识源程序中某个对象的名字。这个元素可以是一个语句标号,一个过程或函数、一个数据元素(例如一个标量变量或一个数组)或程序本身。凡是可以由自己命名的地方都称为标识符。Java标识符,有以下几点要求:1.符由字母、数字、下划线“_”、汉字、美元符号“$”组成,第一个字符不能是数字。 但不能包含 @、%、空格等其它特殊字符,不能以数字开头。 ...
2020-06-12 16:22:37
1693
原创 java关键词
java语言中有一些具有特殊用途的词被称为关键词。关键词对java的编译器有着特殊的意义,在程序中应用一定要慎重。问:这么多啊,记不住啊。。。答:现在不需要你记住所有,混个眼熟即可,在学习的过程中,你回逐步找到感觉并记住他们对了,差点忘了大事,java的关键词是区分大小写的哦!!!所以,void是关键词,但是Void 就不是关键词了。。。。Java语言共定义了如下所示的关键字。 abstract assert boolean .
2020-06-12 16:04:33
860
原创 myeclipse8.5使用
1.设置工作空间编码格式点击Windows → preference → WorkSpace或者搜索workspace选择编码格式,默认为GBK,不过选择UTF-8为好2.更改字体点击Windows → preference → General →Appearence → Color and Fonts → Basic或者搜索Colors and fonts选择 Text font ,点击Edit编辑,就可以更改字体了,选择合适的就行3.JDK相关配置点击Wi
2020-06-12 11:03:10
1220
原创 myeclipse汉化版中安装java反编译工具jadClipse详解
本示例中测试环境是win7 64位系统,myeclipse10.7汉化版,用的是jad1.5.8和jadClipse3.3.0myeclipse中安装jadClipse步骤如下:1. 下载jad1.5.8: jad.exe和jadClipse3.3.0:jadClipse_3.3.0.jar,下载地址:http://download.csdn.net/detail/wangcunhuazi/89447092. 把下载好的jad1.5.8.exe和jadclipse3.3.0.jar.rar压缩.
2020-06-11 15:17:06
464
原创 安装jdk的时候为什么会有两个jre文件
为什么我们在安装了JDK之后,在安装目录中会有两个版本的jre文件呢?之中一个jre文件在JDK的外部,一个jre文件在JDK内部,这就是所谓的专用JRE和公用JRE专用 JRE安装 JDK 时,会安装一个专用 JRE,并且您可以选择安装一个公共副本。需要专用 JRE 才能运行 JDK 中包含的工具。专用 JRE 没有注册表设置,并且完全包含在仅对 JDK 已知的 Java 目录位置(通常位于 C:\Program Files\jdk1.7.0\jre)中。公共 JRE公共 JRE..
2020-06-11 14:08:43
1471
原创 java编译原理
1.javac是什么?(1)javac是一种编译器,能够将一种语言规范转换成另一种用语言规范,通常编译器是将便于人们理解的语言规范成机器容易理解的语言规范。(2)javac的任务就是将java源代码语言转换成jvm能够识别的语言,然后jvm将jvm语言再转化成当前机器能够识别的语言(这样使得对开发者屏蔽与机器相关的细节,并且使得语言的执行与平台无关)2.javac编译器的基本结构(1)步骤:<1>读取源码,进行词法分析。也就是找出源码字节中的关键字,识别出合法的关键字,最后得出一些规范
2020-06-10 15:01:37
2330
原创 彻底卸载JDK
1.第一步,首先卸载或删除JDK:三种方式:(1)用控制面板卸载(2)安全类软件(360等)自带的软件卸载工具的功能卸载(3)直接删除jDK文件夹(我的默认的是:C:\Program Files (x86)\Java)(我喜欢的方式,简单粗暴,推荐)2.第二步,删除注册表:按Windows键+R 输入"regedit"打开注册表编辑器找到HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft将JavaSoft文件夹及其子目录全部删除。3.第三步,删除..
2020-06-10 14:14:06
28753
7
原创 Java环境搭建与配置
配置环境变量一、环境变量在哪?1. 在“我的电脑”上右击鼠标,在弹出菜单中选择“属性”。2.在“系统”界面选择“高级系统设置”。3. 在“系统属性”界面选择“环境变量”,从而进行系统属性配置。二、如何配置?1. 系统变量中新建:JAVA_HOME : JDK安装路径(首先要安装JDK)2. 系统变量中添加:PATH:%JAVA_HOME%\bin;3. 用户变量中新建:CLASSPATH: .;%JAVA_HOME%\l...
2020-06-10 13:52:14
294
原创 初识Java
1.计算机语言的发展史1)第一代语言(只有机器能读懂,人根本读不懂) 纯机器语言 2)第二代语言(机器能读懂,人可以读懂,但是很难懂) 汇编语言(符号语言) 3)第三代语言(机器能读懂,也非常便于人类阅读) C面向过程的语言 C++面向过程/对象的语言 Java跨平台的纯面向对象的语言2.java 技术体系1)Java SE(J2SE)(java平台标准版)开发桌面应用程序2)Java EE(J2EE)(java平台企业版)开...
2020-06-10 12:17:47
184
原创 学生管理系统(SSM简易版)总结
技术准备为了完成这个项目,需要掌握如下技术:Java 基础知识 前端: HTML, CSS, JAVASCRIPT, JQUERY J2EE: Tomcat, Servlet, JSP, Filter 框架:Spring, Spring MVC, MyBatis, Spring 与 MyBatis 整合, SSM 整合 数据库: MySQL 开发工具: IDEA, Maven开发流程之前虽然已经使用 Servlet + JSP 完成了简单的开发,这次使用 SSM 仅仅是重构
2020-06-01 10:07:21
1378
原创 Spring cloud应该怎么入门?
作者:Java3y链接:https://www.zhihu.com/question/283286745/answer/763040709来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。我这边在学习的时候写过一篇SpringCloud文章,题主可以看看(应该还算通俗易懂的)SpringCloud GitHub Demo(看完文章的同学可以自己练手玩玩):https://github.com/ZhongFuCheng3y/msc-Demo项目结构图:..
2020-06-01 10:05:44
297
原创 mac 查看端口占用并删除
mac 查看端口占用1.查看8080端口号占用lsof -i:80802.删除8080端口进程kill -9:6296
2020-05-29 22:54:16
2556
1
原创 用idea搭建SSM项目,原来这么简单
前言前阵子突发奇想,想学习下SpringMVC的源码,于是打算用idea搭建一个简易的maven版SSM案例,也就是SpringMVC+Spring+MyBatis+Maven,因为之前创建过一些Spring的小demo,相关的软件环境已经搭建完成,本以为搭建一个入门级的SSM项目应该不难,谁曾想这个过程中遇到了不少千奇百怪的问题,从开始创建到成功运行花了我整整一个下午的时间(我的午觉啊~~~·),最后项目成功跑起来的时候我长出了一口气,为了以后不在类似的事情上折腾,特此写下这篇文章记录一下搭建过程。
2020-05-29 14:02:10
1016
原创 Mac下tomcat启动报错Cannot run program。。。 Permission denied解决办法
mac下tomcat启动报错Cannot run program "/Users/horse_leo/Documents/apache-tomcat-7.0.75/bin/catalina.sh" (in directory "/Users/horse_leo/Documents/apache-tomcat-8.0.18/bin"): error=13, Permission denied从英文可以看出是权限不足,解决办法,命令行进入tomcat的bin根目录,执行chmod 777 *.sh问题解
2020-05-29 09:16:59
4757
1
原创 MAC JDK 卸载方法(彻底卸载)
1. 打开终端2. 输入 sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefpane3 查找当前版本 输入:ls /Library/Java/JavaVirtualMachines/ 输出:jdk-9.0.1.jdk4.输入 sudo rm -rf /L...
2020-05-28 10:59:39
6419
1
原创 Git已经commit但是并没有pull的代码想要撤回的操作
致commit后又后悔的小伙伴首先在项目根目录下点击右键找到GIT,然后找到Repository,再点击Reset HEAD,弹出如下对话框并在对话框内输入HEAD^再点击Reset即可。...
2019-12-19 11:45:39
1427
原创 通过Java排序List集合的元素的几种方法
Java工具类Collections的sort()方法,对List集合元素进行排序。Collections提供两种排序方法:一、Collections.sort(List<T> list); 此方法需要泛型T这个Bean实现Comparable<T>接口,并且实现compareTo()方法排序;二、Collections.sort(List<T>...
2019-09-05 11:49:25
540
原创 Windows下查看端口常用命令以及关闭端口的方法
1.C:\Users\JavaKam> netstat -ano|findstr 1099TCP 0.0.0.0:1099 0.0.0.0:0 LISTENING 18820TCP [::]:1099 [::]:0 LISTENING 188202.出现:C:\Users\JavaKam> taskkill /pid 18820错误: 无法终止 PID 为 18820 的进...
2019-08-14 09:47:15
1677
原创 bootstrap栅栏系统css中的col-xs-*、col-sm-*、col-md-* 的意义以及 bootstrap一个标签中,同时有 col-xs , col-sm , col-md , col
摘要: bootstrap栅栏系统css中的col-xs-*、col-sm-*、col-md-* 的意义:.col-xs- 超小屏幕 手机 (<768px).col-sm- 小屏幕 平板 (≥768px).col-md- 中等屏幕 桌面显示器 (≥992px).col-lg- 大屏幕 大桌面显示器 (≥1200px)首先说明:1、col-列;2、xs-maxsma...
2019-08-13 18:00:28
319
转载 谷歌浏览器上传文件卡死怎么解决
首先,点击电脑桌面左下方的“开始”图标,并选择“开始”菜单栏右侧的“控制面板”。 然后,在“控制面板”的用户界面下,选择“时钟、语言和区域”下面的“更改键盘或其它输入法”的按钮。 接着,出现“区域或语言”的用户界面,然后在“键盘和语言”的用户卡片下选择下中的“更改键盘”按钮。 之后,在“文本服务与输入语言”这一界面中,选择“常规”这一栏,在界面的...
2019-07-23 17:56:25
3031
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅