Java
吢丕er
ToBeABetterMan
展开
-
前台向后台传值
本文主要介绍3种前台向后台传值的方法一、URL传参提交方式为get方式时,在你想要传值的目的url后面,用?连接参数,若有多个参数,各参数间用 & 连接。<a href="localhost:8080/DocApp/user/userInfo.do?name='zhangsan'&sex='male'">URL传参</a>目标URL...原创 2019-05-18 22:15:02 · 5007 阅读 · 0 评论 -
Java内存模型与访问定位
一、Java对象在内存中的结构在JVM中,使用OOP-KLASS模型来表示Java对象,关于OOP-KLASS模型如上图所示。1.1、JVM在加载class时,会创建instanceKlass,表示该class的元数据(包括常量池、字段、方法等),存放在方法区;instanceKlass是JVM中的数据结构;1.2、在new一个对象时,JVM创建instanceOopDesc来表示这个对象...原创 2019-08-20 23:48:00 · 217 阅读 · 0 评论 -
hasNext()、next()、nextLine()
主要通过Scanner类说一下这几个函数。一、hasNext()函数先看一段代码:package AllTests;import java.util.Scanner;class NextNextLineNextIntTest { public static void main(String[] args) { System.out.println("随便输...原创 2019-08-15 21:33:14 · 1076 阅读 · 1 评论 -
JVM内存管理与垃圾回收机制
一、内存溢出和内存泄漏1.1、内存溢出(OOM out of memory) ----内存不够用。比如上厕所坑位不够内存溢出是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;1.2、内存泄漏(Memory Leak) -----内存空间浪费,内存用完未释放比如站着茅坑不出来,而且是永久占着内存泄漏是指程序在申请内存后,无法释放已申请...原创 2019-08-19 23:30:27 · 771 阅读 · 0 评论 -
单例模式
一、是什么1.1、单例类只能有一个实例1.2、单例类必须自己创建自己的唯一实例1.3、单例类必须给所有其他对象提供这一实例(必须有一个public的获取实例的方法)二、适用环境单例模式可以保证全局对象的唯一性,比如系统启动读取配置文件就需要单例保证所有配置的一致性。一般以下情况常考虑单例模式的设计模式:2.1、系统只需要一个实例对象,或者因为资源消耗太大只允许创建一个...原创 2019-08-10 15:18:03 · 262 阅读 · 0 评论 -
Java泛型
理解:Java集合有个缺点,把一个对象丢进集合里后,集合就会忘记这个对象的数据类型,当再次取出该对象时,该对象的编译类型会变成object类型(运行时类型没变),增加了泛型后的集合,完全可以记住集合中元素的类型,并在编译时检查几何中元素的类型,如果试图向集合中添加不满足类型要求的对象,编译器会提示错误。目的:解决从集合中取数据时数据类型不统一的弊端。泛型:Java的参数化类型,允许程序在创...原创 2019-08-13 22:02:10 · 146 阅读 · 0 评论 -
Java异常机制
异常的继承关系:关于Error和Exception:Error和Exception都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),他是异常处理机制的基本组成类型。Error是指正常情况下不大可能出现的情况,一般无法预料。绝大部分的Error都会导致程序(比如JVM自身)处于不可恢复的非正常状态,不易...原创 2019-08-13 21:40:23 · 226 阅读 · 0 评论 -
查找算法
先介绍两种最常用的查找算法一、顺序查找顾名思义,顺序查找的意思就是按照顺序一个个进行查找。有序或是无序都可以,效率较低。//顺序查找,返回对应元素下标,若找不到返回-1public static int search(int[] a, int key) { for (int i = 0; i < a.length; i++) { if (a[i] ==...原创 2019-07-17 09:57:06 · 139 阅读 · 0 评论 -
多线程
一、是什么先了解几个概念:进程:进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。说白了就是程序进入内存运行时,就会产生一个相应的进程。线程:线程是进程中的一个执行单元,负责当前进程中某一段程序的执行,一个进程中至少有一个线程...原创 2019-07-17 09:16:29 · 153 阅读 · 0 评论 -
堆内存、栈内存、方法区
一、Java内存管理Java程序运行在虚拟机(JVM)上,JVM相当于Java程序和操作系统之间的桥梁,Java程序通过JVM实现了平台无关性,可以跨平台操作。Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干不同的数据区域,这些区域都有各自的用途以及创建和销毁的时间。Java虚拟机所管理的内存会包括以下几个运行时数据区域,如下图所示:这里主要介绍三种内存区:堆内存、...原创 2019-07-18 16:25:51 · 2073 阅读 · 0 评论 -
=,==,===,equals()的区别
==是赋值运算符,就是向变量赋值用的如下,定义一个变量anthor并赋初值为CHAoLip。这个不多赘述了。//JavaScriptvar author = "ChAoLip";====是比较运算符,==比较的是对象的地址,也就是判断是否为同一个对象;或者这么说吧:当比较基本数据类型时,==就是比较值是否相等当比较引用数据类型时,例如比较两个对象的引用时...原创 2019-05-23 22:00:10 · 156 阅读 · 0 评论 -
Java 的几个修饰符和关键字
一、常见修饰符java的修饰符最常见的有public、protected、default、private四个,分别代表不同的访问权限。一张表告诉你他们权限各自是多大。 本类 本包 子类 外部包 public √ √ √ √ protected √ √ √ × default √ √ ×...原创 2019-07-18 10:39:07 · 677 阅读 · 0 评论 -
String、StringBuffer、StringBuilder
一、相同点String、StringBuffer、StringBuilder都用来封装字符串,并提供一系列方法来改进字符串。二、不同点2.1 可变与不可变String是不可变类,一旦一个String对象被创建,该对象中的字符串序列不可改变,直至对象被销毁。StringBuffer、StringBuilder是可变类,常用方法有append()、insert()、reverse(...原创 2019-06-13 21:23:49 · 123 阅读 · 0 评论 -
工厂方法模式
是不是想先了解一下简单工厂模式呢?他们很像哦!一、是什么定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。理解:工厂方法模式是对简单工厂模式的改进,通过引入抽象的工厂类,使得它具有超越简单工厂的优越性,让系统更加符合开闭原则。二、模式结构工厂方法模式包含4个角色:Product、ConcreteProduct、...原创 2019-05-19 21:39:20 · 401 阅读 · 1 评论 -
Java类加载机制、初始化顺序
目录一、类加载过程1.1、加载1.2、链接1.3、初始化二、类初始化时机2.1、只有在对类主动使用的时候才会导致类的初始化,类的主动使用包括以下六种:2.2、子类和父类初始化顺序(针对属性、代码块、构造方法)三、类的生命周期四、类加载机制4.1、类加载器4.2、类加载机制的分类4.3、关于双亲委派机制一、类加载过程类加载过程分为加载、链...原创 2019-08-25 15:49:27 · 910 阅读 · 0 评论