随笔分类 - Java
摘要:手动释放内存导致的问题 在托管代码出现之前,我们申请一片内存使用完后,需要手动释放内存。手动释放有以下几个问题。 忘记释放 忘记释放内存,会导致内存溢出。程序长时间申请的内存一直不释放。最终可能导致进程内存占满。 重复释放 忘记释放对程序本身的执行的正确性不会产生影响,另一种更严重的问题是重复释放。
阅读全文
摘要:代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该
阅读全文
摘要:1. 编译成class 众所周知,Java代码是不能直接在jvm上执行的,执行的是class文件,将Java代码编程class文件,需要编译常用的编译方法是:javac xxx.java但目前常见的java编辑工具,如eclipse和ideal都自带自动编译动能 2. jvm的构成 让我们回忆一下j
阅读全文
摘要:解决哈希冲突的四种方法 1.开放地址方法 (1)线性探测 按顺序决定值时,如果某数据的值已经存在,则在原来值的基础上往后加一个单位,直至不发生哈希冲突。 (2)再平方探测 按顺序决定值时,如果某数据的值已经存在,则在原来值的基础上先加1的平方个单位,若仍然存在则减1的平方个单位。随之是2的平方,3的
阅读全文
摘要:线程池 线程池定义 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保
阅读全文
摘要:案例引入 多个线程访问同一个对象,实现两个线程,t1,t2同时对变量i进行++运算,预想最后的结果是20000 public class SynchronizedDemo1 implements Runnable { static SynchronizedDemo1 ins = new Synchr
阅读全文
摘要:1.异常的分类 异常的根接口Throwable,其下有2个子接口,Error和Exception。 Error:指的是JVM错误,这时的程序并没有执行,无法处理; Exception:指的是程序运行中产生的异常,用户可以使用处理格式处理。 三种类型的异常: 检查性异常:最具代表的检查性异常是用户错误
阅读全文
摘要:线程的状态 1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位
阅读全文
摘要:servlet的封装 比如:用户操作相关servlet管理 Baseservlet 1 package cn.hoagn.servlet; 2 3 import javax.servlet.ServletException; 4 import javax.servlet.http.HttpServl
阅读全文
摘要:1.什么是maven Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven 在美国是一个口语化的词 语,代表专家、内行的意思。 一个对 Maven 比较正式的定义是这么说的:Maven 是一个项目管理工具,它包含了一个项目对象模 型 (POM:Project Objec
阅读全文
摘要:前端代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <style type="text/css"> #mydiv { position: abso
阅读全文
摘要:datadrip com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more tha
阅读全文
摘要:据库连接池 1. 概念:其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。 2. 好处: 1. 节约资源 2. 用户访问高效 3. 实现 1. 标准接口:Dat
阅读全文
摘要:Collection集合 迭代器 增强for 泛型 Collection集合 1.1 集合概述 在前面基础班我们已经学习过并使用过集合ArrayList<E> ,那么集合到底是什么呢? 集合:集合是java中提供的一种容器,可以用来存储多个数据。 集合和数组既然都是容器,它们有啥区别呢? 数组的长度
阅读全文
摘要:类 成员变量直接定义在类里面,在方法的外面; 成员方法不要写static关键字 eg: 完整程序调用实现即内存示意:
阅读全文
摘要:1.分别用do-while和for循环计算1+1/2!+1/3!+…前20项和 for 编程找出1000以内的所有完数。 用for循环计算8+88+888+...前10项之和。 输出满足1+2+3+…+n小于8888的最大正整数
阅读全文
摘要:1、Java JDK 与 Apache Tomcat 下载 JDK 下载 Apache Tomcat 下载 2、安装与环境变量配置 关于 JDK 的安装挺简单的,网上教程也挺多,Tomcat 下载免安装版本的就行,这里主要还是将它们的环境变量配置。 1)JDK 环境变量配置: 如果你的 JDK 安装
阅读全文
摘要:数组概念: 数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。 数组的定义 格式:数组定义格式详解: 数组存储的数据类型: 创建的数组容器可以存储什么数据类型。 [] : 表示数组。 数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。 new :关键字,创建数组使用
阅读全文
摘要:对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。 方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。 方法重载与下列因素相关: 1. 参数个数不同 2. 参数类型不同 3. 参数的多
阅读全文
摘要:IDE中快捷编写函数的方法 public static void main(String[] args) 》 psvm System.out.println(); > soutfor循环:循环5次 for (int i = 0; i < 5; i++) 5.fori for (int i = 5;
阅读全文

浙公网安备 33010602011771号