Java
PassionZheng
这个作者很懒,什么都没留下…
展开
-
IDEA常用快捷键
IDEA常用快捷键介绍1.IDEA常用快捷键2.常用操作IDEA内存优化查询快捷键自动代码复制快捷方式其他快捷方式下面的不是很有用1.IDEA常用快捷键快捷键功能Ctrl+G跳转到指定行Ctrl+F4关闭当前编辑页面Ctrl+F搜索Alt+回车导入包,自动修正Ctrl+N查找类Ctrl+Shift+N查找文件Ctrl+Alt...原创 2020-04-19 13:32:01 · 183 阅读 · 0 评论 -
Java编程基础知识清单
文章目录Java运行原理配置环境Java语言基础程序流程控制方法的定义数组面向对象异常集合线程IO反射Java运行原理1.计算机语言发展过程机器语言汇编语言高级语言解释型语言(JavaScript)要想运行多次,需要进行多次解释支持跨平台编译型语言(C\C++)要想运行多次,不需要进行多次编译不支持跨平台2.Java运行原理先编译,再解释....原创 2020-04-24 23:26:21 · 838 阅读 · 0 评论 -
Java基础(一)语法基础
文章目录1.Java语言及JVM2.运算符1.Java语言及JVM1)Java是跨平台的纯面向对象的语言2)JVM概念:运行在操作系统之上,是一个可以运行java代码的虚拟计算机;对于不同的平台,有不同的虚拟机,其屏蔽了底层运行平台的差别,实现了“一次编译,导出运行”。3)JDK、JRE、JVM2.运算符运算符的分类?算数运算符有哪些? 算数运算符(自增自减运算符) ...原创 2020-02-24 12:28:12 · 289 阅读 · 0 评论 -
Java基础(二)面向对象编程
面向对象编程百度脑图1.类及类的成员1)属性局部变量也需要先声明赋值,后使用,也可采用默认的初始化值。 注意:方法的形参为特殊,它的初始化为方法调用时传入的值;局部变量没有权限修饰符,它的权限跟随方法,或者构造器的权限;局部变量存放在栈空间;2)方法3)构造器4)代码块5)内部类面向对象三大特征面向对象中的关键字Object类...原创 2020-02-24 12:27:36 · 596 阅读 · 1 评论 -
Java基础(三)内部类
内部类什么是内部类?在类中定义的类:在Java中,允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类。内部类包括:成员内部类:类中定义的成员类静态内部类:类中定义的静态成员类局部内部类:类的成员方法中定义的类匿名内部类:类实例化时,直接定义的类。定义与使用同步;存在意义java中的内部类和接口加在一起,可以的解决常java中存在的一个问题 没有多继承。通...原创 2019-07-11 19:01:54 · 271 阅读 · 0 评论 -
JAVA基础(四)接口
1.变量与数据类型原创 2019-07-11 18:06:07 · 210 阅读 · 0 评论 -
JAVA基础(五)单例设计模式
懒汉式饿汉式原创 2020-04-26 15:32:37 · 91 阅读 · 0 评论 -
Java基础(六)单列集合—Collection
文章目录一.单列集合—Collection1.Collection[接口]具体方法1)Collection的“toString()方法”2)Collection的成员方法2.迭代器:2.List接口ArrayListVector总结:LinkedList3.Set接口 - 集合HashSetTreeSet1)自然排序[内部比较器] --> 元素实现了 Comparable 接口2)比较器排序...原创 2020-04-26 14:47:39 · 259 阅读 · 0 评论 -
Java基础(七)双列集合—Map
文章目录双列集合—Map问题1.概述方法遍历方式HashMap1.源码分析:2.hash方法的原理:3.put方法的原理: ★4.如何将链表结构转换成树结构?HashtableTreeMapProperties类[IO流]双列集合—Map问题1.Map 中的 Entry 接口是什么作用?interface Entry<K,V>1)HashMap/HashTable中...原创 2020-04-26 14:47:31 · 268 阅读 · 0 评论 -
Java基础—多线程
Java多线程一.线程的相关概念1.程序、进程、线程2.单核CPU和多核CPU的理解3.并行与并发4.单线程 & 多线程5.多线程的好处6.多线程的应用场景二.线程的创建和启动 ★1.java.lang.Thread类2.创建线程的两种方式1)继承Thread类2)实现Runnable接口3.start与run的区别4.两种创建方式的区别:窗口买票案例三.线程的停止方式四.线程的其他知识1...原创 2020-04-27 00:04:12 · 364 阅读 · 0 评论 -
Java基础—枚举类
枚举什么是枚举类?一个只提供固定个数的对象的类。举例:性别:只有 ‘男’ 和 ‘女’,没有其他(应该是)public **abstract class** Enum<E extends Enum<E>> implements Comparable<E>, Serializable { }怎么使用枚举类?JDK1.5之前需要自定义枚举类,JD...原创 2019-08-08 15:44:27 · 392 阅读 · 0 评论 -
Java基础—异常
Java异常处理1.异常在Java语言中,将程序执行中发生的不正常情况称为“异常”2.为什么会有异常处理?为了避免中断程序的执行流程,Java采用异常处理机制,将异常处理的程序代码集中在一起,与正常的程序代码分开,使得程序简洁,并易于维护。3.异常的体系结构异常的根类:Throwable ,其子类有1)Error: JVM无法解决的严重问题(JVM系统内部错误、资源耗尽等...原创 2019-08-08 14:33:47 · 145 阅读 · 0 评论 -
Java基础—包装类
包装类 Wrapper存在意义:为什么需要—?基础数据类型不是对象,导致无法参与转型,泛型,反射等过程。为了弥补这个缺陷,让基本数据类型的变量具有类中对象的特征,java提供了包装类。包装类就是对基本数据类型进行包装(强化), 将其包装成一个类, 使用类中的方法可以对包装类对象进行更方便的操作.包装类的特性基本数据类型对应包装类int–>Integer...原创 2019-08-12 21:34:04 · 258 阅读 · 0 评论 -
Java基础—IO流
IO流IO :输入输出字符流:输出流 Writer --> 需要通过刷新 或是关闭资源 ,才会将字符从缓存区写入文件缓冲流也是字符流的byte[]缓存 与 缓存流 作用一致,只是缓存大小设置会影响传输效率流的使用步骤1>选择合适的流对象2>读/写3>关闭最外层的流本节目标1.File类的学习2.IO流的相关概念3.IO流体系图4....原创 2019-08-11 12:13:56 · 204 阅读 · 0 评论 -
Java基础—泛型
泛型 Generic泛型机制(generic mechanism)1.what:如果除去对象的基本数据类型外,实现方法是相同的,那么我们就可以用泛型实现(generic implementation)来描述这种基本功能。2.why:为什么要有泛型(Generic)?解决元素存储的安全性问题:编译时检测类型,提高代码的安全性解决数据元素获取时,需要类型强转的问题:减少了类型转换的次...原创 2019-08-09 19:41:15 · 191 阅读 · 0 评论 -
Java基础—反射
本单元目标反射的理解Class类的特点通过反射创建Class类的对象通过反射解析对应类的结构,获取信息通过反射创建对应类的对象通过反射调用类的成员(属性、方法、构造)关键字:反射机制动态语言一.Java反射机制概述1.关于类的加载1.类的加载过程:当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过如下三个步骤来对该类进行初始化:1)类的装载:将...原创 2019-08-08 20:07:09 · 211 阅读 · 0 评论 -
Java基础—注解
注解问题:什么是注解;为什么要引入注解注解是如何工作的如何编写自定义的注解(通过例子)什么情况下可以使用注解最新注解和ADF(应用开发框架)。一.概述从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是 Annotation(注解)一句话:注解就是一种描述数据的数据。1)元数据 MetaData:即一种描述数据的数据2)注解 An...原创 2019-08-08 20:22:12 · 130 阅读 · 0 评论 -
Java基础—JAVA8新特性
本单元目标 1、JAVA8的引入和新特性 2、Lambda表达式的特点和使用 ★ 3、函数式接口 ★ 4、方法引用 5、构造器引用和数组引用 6、Stream API ★7、Option类一、JAVA8的引入和新特性2014年 jdk8 LTS 受商业公司长期支持的版本2017年 9月jdk9 oracle “6月版本升级计划”2018年 3月jdk...原创 2019-08-12 22:19:02 · 124 阅读 · 0 评论 -
自增与自减的机制——为什么 int i = 0; i = i++; i 的结果为0?
1.问题Java 中运行以下代码 :public static int test() { int i = 0; i = i++; return i;}返回结果为:02.JVM执行的代码直接在Windows命令窗口中使用 javap -c XXX 查看JVM执行的代码:public static int test(); Code: 0: iconst_0...原创 2019-07-30 23:39:19 · 2491 阅读 · 1 评论 -
JVM简述
JVM简述问题:问题:请谈谈你对JVM的理解?java8的虚拟机有什么更新?什么是OOM?什么是StackOverflowError?有哪些方法分析?JVM的常用参数调优你知道哪些?内存快照抓取和MAT分析DUMP文件知道吗?谈谈JVM中,对类加载器你的认识?...原创 2019-08-26 15:31:16 · 283 阅读 · 0 评论 -
JVM之类文件结构
类文件结构1.无关性的基石:class文件2.Class类文件的结构Class文件描述1.Magic Number 和 文件版本2.常量池☆为什么要有常量池,常量池的作用是什么?实例:Class文件字节码分析工具-javap3.访问标志4.类索引、父类索引 与 接口索引集合5.字段表集合6.方法表7.属性表集合3.小结我们都知道Java源文件,通过编译器能够生产相应的.class文件,也就是字节...原创 2019-08-26 18:28:02 · 134 阅读 · 0 评论 -
JVM之类加载器ClassLoader
类加载器1.类加载器的作用2.类加载器的种类3.类加载的方式3.1 双亲委派机制3.2 沙箱机制之前我们了解了Class文件存储的具体细节,那么字节码流在虚拟机执行引擎中是怎样被解释执行的呢?1.类加载器的作用虚拟机把描述类的数据从Class文件加载到内存中,并对数据进行效验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。虚拟机设计团队把类的加载阶...原创 2019-08-26 18:26:52 · 97 阅读 · 0 评论 -
Java虚拟机运行时数据区概述
运行时数据区1.Native Method Stack:本地方法栈2.Program Counter Register:程序计数器3.Method Area:方法区4.Stack栈5.Java Heap 堆总结:JVM在执行Java程序过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自用途、创建与销毁时间,有的随着虚拟机进程启动而存在,有些区域则依赖用户线程启动和结束而建立和销...原创 2020-03-12 15:40:18 · 120 阅读 · 0 评论 -
Java垃圾回收
GC:Garbage CollectionGarbage Collection 垃圾收集1.GC的作用区域:哪些内存需要回收?2.对象的回收时机:什么时候回收?1)引用计数算法 Reference Counting2)根搜索算法 GC Roots Tracing3.如何回收?3.1 垃圾收集算法1.标记-清除算法 Mark-Sweep2.复制算法 Copying3.标记-整理算法 Mark-Com...原创 2019-08-29 17:09:13 · 90 阅读 · 0 评论 -
JavaWeb基础2—Tomcat服务器与Servlet
一.Tomcat服务器Web服务器:Web服务器主要用来接收客户端发送的请求和响应客户端请求。1)Tomcat服务的目录结构2) 配置环境变量,方便Tomcat的启动关闭(可选)新建环境变量CATALINA_HOME=解压目录在Path环境变量中加入Tomcat解压目录\bin目录在命令行中运行catalina run或者 startup启动Tomcat服务器,在浏览器地址栏...原创 2020-03-12 15:41:46 · 324 阅读 · 0 评论 -
JavaWeb基础3—JSP、EL与JSTL
JavaWeb的技术体系一.Java Server PagesJSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。1)JSP全称Java ...原创 2020-03-12 15:41:37 · 152 阅读 · 0 评论 -
JavaWeb基础5—Cookie和Session会话控制
浏览器与服务器通信原创 2020-03-12 15:41:13 · 305 阅读 · 0 评论 -
JavaEE—1.Maven[未完]
1.为什么要使用Maven?之所以会提出这个问题,是因为即使不使用Maven我们仍然可以进行B/S结构项目的开发。从表述层Servlet、业务逻辑层到持久化层DAO再到数据库都有成熟的解决方案——不使用Maven我们一样可以开发项目啊?所以我们有必要通过企业开发中的实际需求来看一看哪些方面是我们现有技术的不足。Maven解决的问题1)只添加一次第三方Jar包使用Maven后每个jar包...原创 2020-03-12 15:43:02 · 98 阅读 · 0 评论 -
JavaEE—2.Spring
1.Spring框架存在的意义1.解决了什么问题Spring是一个开源框架,Spring为简化企业级开发而生,使用Spring,JavaBean就可以实现很多以前要靠EJB才能实现的功能。同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能够实现,而在Spring中却非常的优雅和简洁。将创建对象的任务交给IOC容器(注解+反射),使用对象时通过依赖注入实现2.如何解决的Spring是...原创 2020-03-12 15:39:11 · 120 阅读 · 0 评论 -
JavaEE—3.SpringMVC
SpringMVCSpring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。Spring MVC主要由DispatcherServlet、处理器映射...原创 2020-03-12 15:38:57 · 119 阅读 · 0 评论 -
JavaEE—4.MyBatis
MyBatishttps://www.cnblogs.com/mingyun/p/9268378.html2 Mybatis2.1 Mybtis是什么?——是对jdbc的封装,开源的持久层框架2.2 怎么用?step1.导mybatis,ojdbc,junitstep2.添加配置文件step3.实体类(属性名跟表的字段名一样,不计大小写)step4.添加一个映射文件(主要是一些sq...原创 2020-03-12 15:38:41 · 71 阅读 · 0 评论 -
JavaEE—5.SSM框架
SSM框架的整合 (掌握)为了更好的学习 SpringMVC和MyBatis整合开发的方法,需要将SpringMVC和MyBatis进行整合。整合目标:控制层采用SpringMVC、持久层使用MyBatis实现。...原创 2020-03-12 15:39:19 · 453 阅读 · 0 评论 -
JDBC基础
JDBC基础1.引言JDBC是什么?JDBC:Java Database Connectivity —— sun公司推出的一套java应用程序访问数据库产品的技术和规范规范:抽象类或接口java.sql包或javax.sql包JDBC 是一个独立于特定数据库管理系统(DBMS)、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,使用这...原创 2019-08-03 22:35:58 · 229 阅读 · 0 评论 -
JDBC—数据库连接池概述
数据库连接池1.数据库连接池的必要性不使用数据库连接池——普通的JDBC数据库连接存在的问题:1)会消耗大量的资源和时间普通的JDBC数据库连接使用 java.sql.DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证IP地址,用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向数据库要求一个,执行完成后再...原创 2019-08-07 00:07:08 · 216 阅读 · 0 评论 -
JDBC—数据库连接池工具
数据库连接池一. DruidJDBC 的数据库连接池使用 javax.sql.DataSource 来表示,DataSource 只是一个接口,该接口通常由服务器(Weblogic, WebSphere, Tomcat)提供实现,也有一些开源组织提供实现。Druid(德鲁伊)是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、Proxool等DB池的优点,同时加入了日志监...原创 2019-08-07 00:15:12 · 287 阅读 · 0 评论 -
JDBC—DBUtils和DAO
DBUtils和DAO原创 2019-08-07 22:13:20 · 635 阅读 · 0 评论 -
JDBC—事务与批处理
JDBC事务与批处理一.事务JDBC程序中当一个连接对象被创建时,默认情况下是自动提交事务:每次执行一个 SQL 语句时,如果执行成功,就会向数据库自动提交,而不能回滚。JDBC程序中为了让多个 SQL 语句作为一个事务执行:(重点)调用 Connection 对象的 setAutoCommit(false); 以取消自动提交,并开启事务在所有的 SQL 语句都成功执行后,调用 co...原创 2019-08-07 00:20:03 · 239 阅读 · 0 评论 -
Java学习反思
1.道面试官提出一个问题之后,不要简单的停留在其字面意思。想一想为什么要这样问,考的知识点大概是哪些。1)头一步,面试问题的合理性——具体考察哪些知识点与内容;2)其次才是具体知识点的1)是什么:基本的知识点——要全面,不能不知道;2)为什么:知识点的原理——是什么知道,为什么、怎么样也得知道;3)怎么样:具体的实现层面如何实现;eg.1)HashMap方面的知识点:Has...原创 2019-07-11 17:05:15 · 995 阅读 · 0 评论