
4.java基础知识
文章平均质量分 70
java编程基础知识
pziwang
云中台java项目,信息学奥赛辅导
展开
-
java类加载器-类加载的过程
类加载器-类加载的过程类加载器 java->class文件(编译后的字节码文件),负责将class文件加载进内存中1.类在什么时候会被加载到内存中?触感见类的实例(对象)掉用类的类方法(静态方法)访问类活着呢接口的类变量,或者为该类变量赋值(静态变量)使用反射的方式来强制创建某个类或接口对应的java.lang.Class对象初始化某个类的子类(子类依赖父类)直接试用java.exe命令来运行某个主类用到就加载,不用不加载2.类加载过程加载通过包名 + 类原创 2022-04-06 22:47:31 · 1188 阅读 · 0 评论 -
java时间日期类
时间日期类日期类1.规定计算机中的起始时间: 1970年1月1日 00:00:00(c语言的诞生时间)long time = System.currentTimeMillis()->时间原点到当前时间过去的毫秒数北京时间需要在世界标准时间上加8小时。2.Date类概述和构造方法和成员方法Date 代表了一个特定的时间,精确到毫秒构造方法://创建一个Date对象,表示默认时间Date date1 = new Date();//表示电脑中当前时间//创建要给对象,表示默认时间原创 2022-04-05 12:00:28 · 433 阅读 · 0 评论 -
多线程初步
一、多线程基本概念1.并发和并行并行:在多个cpu中同时进行,任务不中断并发:多个任务在一个cpu中切换执行,任务会中断(挂起、继续和终止)2.进程和线程进程:正在运行的软件独立性:进程是独立运行的基本单位,同时也是系统分配资源和调度的独立单位动态性:实质是程序的一次执行过程,进程是动态产生、动态消亡的。并发性:任何进程和其它进程一起并发执行线程:进程中的单个顺序控制流,是一条执行路径。单线程:一个进程中如果只有一条执行路径,则称为单线程程序。多线程:一个进程如果有多条执行路径,则称原创 2022-03-29 22:57:34 · 122 阅读 · 0 评论 -
Mybatis的相应的api
05Mybatis的相应API一、SqlSession工厂构建器SqlSessionFactoryBuilder二、SqlSession会话对象原创 2019-10-11 22:58:16 · 340 阅读 · 0 评论 -
07MyBatis映射文件深入
2.1 动态sql语句2.1.1动态sql语句概述Mybatis 的映射文件中,前面我们的 SQL 都是比较简单的,有些时候业务逻辑复杂时,我们的 SQL是动态变化的,此时在前面的学习中我们的 SQL 就不能满足要求了。参考的官方文档,描述如下:2.1.2动态 SQL 之我们根据实体类的不同取值,使用不同的 SQL语句来进行查询。比如在 id如果不为空时可以根据id查询,如果user...原创 2019-10-11 22:55:18 · 135 阅读 · 0 评论 -
06Mybatis的Dao层实现
1.1 传统开发方式1.1.1编写UserDao接口public interface UserDao { List<User> findAll() throws IOException;}1.1.2.编写UserDaoImpl实现public class UserDaoImpl implements UserDao { public List<User...原创 2019-10-11 22:50:32 · 315 阅读 · 0 评论 -
打印流
打印流一、概述平时我们在控制台打印输出,是调用print方法和println方法完成的,这两个方法都来自于java.io.PrintStream类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。二、PrintStream类构造方法public PrintStream(String fileName): 使用指定的文件名创建一个新的打印流。构造举例,代码如下:Print...原创 2019-03-19 01:09:24 · 155 阅读 · 0 评论 -
序列化
序列化一、 概述Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据、对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象。看图理解序列化: 二、 ObjectO...原创 2019-03-19 01:09:02 · 561 阅读 · 0 评论 -
缓冲流
缓冲流一、概述缓冲流也叫高效流,是对4个基本的Filexxx流的增强,所以也是4个流,按照数据类型分类:字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:BufferedReader,BufferedWriter缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲数据,通过缓冲区读写,减少系统IO次数,从而提高读写效...原创 2019-03-19 01:08:05 · 267 阅读 · 0 评论 -
方法引用
方法引用一、方法引用基本介绍@FunctionalInterfacepublic interface Printable { //定义字符串的抽象方法 void print(String s);}public class Demo01Printable { //定义一个方法,参数传递Printable接口,对字符串进行打印 public static ...原创 2019-03-21 23:03:29 · 467 阅读 · 1 评论 -
IO字节流
IO字节流一、字节输出流OutputStreamjava.io.OutputStream //抽象类:表示输出字节流的所有类的超类。定义了一些子类共性的成员方法public void close();public void flush();public void write();public void write();public void write()1.字节输出流写入...原创 2019-03-13 00:05:26 · 169 阅读 · 0 评论 -
Stream流式思想概述
Stream流式思想概述主要用来对集合和数组进行转换,用Stream中的一些方法对其进行操作。这得益于Lambda表达式的出现。一、使用传统的方式,遍历集合,对集合中的数据进行过滤public class Demo01List { public static void main(String[] args) { //创建一个List集合,存储姓名 Li...原创 2019-03-20 23:56:11 · 1286 阅读 · 1 评论 -
TCP协议
一、通信原理二、代码实现1.客户端代码public class ClientSocket { public static void main(String[] args) throws IOException{ //1.创建Socket,确定发送的目标 Socket socket = new Socket("127.0.0.1", 8888); ...原创 2019-03-17 00:35:26 · 99 阅读 · 0 评论 -
File类
File类java.io.file文件和路径名的抽象表示形式,java把电脑中的文件和文件夹封装成了一个file类,我们可以使用File类对文件/文件夹进行操作可以使用file类方法:创建文件/文件夹删除文件/文件夹获取文件/文件夹判断文件/文件夹是否存在对文件进行遍历获取文件的大小**重点:**记住三个单词file:文件directory:文件夹/目录path:路径...原创 2019-03-11 23:30:36 · 143 阅读 · 0 评论 -
函数式编程
Consumer接口ava.util.function.Consumer<T>接口则正好与Supplier接口相反, 它不是生产一个数据,而是消费一个数据,其数据类型由泛型决定。Consumer接口中包含抽象方法void accept(T t),意为消费一个指定泛型的数据。Consumer接口是一个消费型接口,泛型执行什么类型,就可以使用accept方法消费什么...原创 2019-03-19 23:55:11 · 130 阅读 · 0 评论 -
函数式编程
Consumer接口ava.util.function.Consumer<T>接口则正好与Supplier接口相反, 它不是生产一个数据,而是消费一个数据,其数据类型由泛型决定。Consumer接口中包含抽象方法void accept(T t),意为消费一个指定泛型的数据。Consumer接口是一个消费型接口,泛型执行什么类型,就可以使用accept方法消费什么...原创 2019-03-19 23:53:42 · 181 阅读 · 0 评论 -
java中的反射
typora-root-url: E:\learning\note\image反射反射是框架设计的灵魂,框架是一个半成品软件,程序员可以在框架的基础上进行软件开发,能够简化编码,优秀的框架还可以保证项目的安全性、可维护性。一、概述1.概念将类的各个组成部分封装成其它对象。2. java代码在计算机中执行经历的三个阶段3.反射的好处在程序的运行过程中去操作这些对象。S...原创 2019-04-03 21:44:51 · 237 阅读 · 0 评论 -
注解
注解一、概念**注释:**用文字描述程序的。给程序员看的。**注解:**说明程序的,给计算机看的。**概念:**注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,没有加,则等于没有任何标记,以后,javac编译器、开发工具和其他程序可以通过反射来了解你的类及各种元素上有无何种标记,看你的程序有什么标记,就去干相应的事,标记可以加在包、类,属性、方法,方法...原创 2019-04-05 00:05:05 · 248 阅读 · 0 评论 -
04核心配置文件详解
核心配置文件详解核心配置文件层级关系一、environments标签数据库环境的配置,支持多环境。其中,事务管理器(transactionManager)类型有两种:•JDBC:这个配置就是直接使用了JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。•MANAGED:这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如 J...原创 2019-10-10 23:31:30 · 254 阅读 · 0 评论 -
03Mybatis映射文件概述
Mybatis映射文件概述Mybatis增删改的操作一、插入操作1.配置文件<mapper namespace="userMapper"> <!--插入操作--> <insert id="save" parameterType="com.yuwendeng.domain.User"> insert INTO USER...原创 2019-10-10 23:22:25 · 117 阅读 · 0 评论 -
02Mybatis快速入门
typora-copy-images-to: imgMybaitis快速入门一、开发步骤添加Mybatis坐标创建user数据表编写User实体类编写映射文件UserMapper.xml编写核心文件sqlMapperConfig.xml编写测试类二、添加坐标<?xml version="1.0" encoding="UTF-8"?><project x...原创 2019-10-09 23:18:19 · 87 阅读 · 0 评论 -
Mybatis简介
typora-copy-images-to: imgMybatis简介一、原始jdbc操作1.查询数据public class Test { @org.junit.Test public void test() throws ClassNotFoundException, SQLException { Class.forName("com.mysql.j...原创 2019-10-08 23:36:20 · 97 阅读 · 0 评论 -
Filter过滤器
1.Filter过滤器的用途web中的过滤器:当有请求访问服务器的时候,过滤器可以将请求拦截下来,完成一些特殊的操作(修改请求和响应的参数、放行请求、重定向请求等)。作用:一般用于完成通用的操作实例:登录验证、统一编码处理、敏感字符过滤2.过滤器的实现定义一个类实现Filter接口复写其方法()配置拦截路径public class MyFilter implements Fil...原创 2019-08-28 22:48:06 · 110 阅读 · 0 评论 -
JSON
JSON一、概念javascript Object Notation js对象表示法,是存储和交换文本信息的语法,类似XML,比XML更加轻量化,更小,更快,更易于被解析。java对象封装数据Person p = new Person();p.setName("张三");p.setAge(23);p.setGender("男");json封装数据var p = {"name":"张三...原创 2019-06-03 23:26:06 · 177 阅读 · 0 评论 -
JSTL标签
JSTLjavaServer pages Tag Library Jsp标准标签库,是由Apache 组织提供的开源的免费的jsp标签,是用于简化和替换jsp页面中的java代码。一、使用 步骤导入jstl jar包引入标签库:taglib指令<%@taglib%>使用标签二、常用的JSTL标签if:相当于java中if没有else的配合标签,如果有多重情况,...原创 2019-05-17 23:17:53 · 121 阅读 · 0 评论 -
session
typora-copy-images-to: imgsession概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中,HttpSession一、HttpSession对象object getAttribute(String name);void setAttribute(String name,String value);void removeAtt...原创 2019-05-06 22:33:55 · 170 阅读 · 0 评论 -
Servlet
typora-copy-images-to: imgServlet(server applet)概念:运行在服务器端的小程序,Servlet就是一个接口,定义了java类被浏览器访问到的规则。我们要实现自己的servlet服务,只需要实现Servlet接口就行。一、快速入门执行原理:当服务器接收到浏览器的请求后,会解析URL路径,获取访问的servlet资源路径。查找web...原创 2019-04-25 23:08:47 · 141 阅读 · 0 评论 -
数据库
数据库一、基本概念**概念:**用于存储和管理数据的仓库。特点:持久化存储数据的。其实数据库就是一个文件系统。方便存储和管理数据。使用统一的发生方式操作数据库—sql语句。常见的数据库软件:Oracle:收费的大型数据库。MySql:开源免费的小型数据库,1.6之后开始收费。Microsoft SQL Server:收费中型数据库系统。DB2:IBM 收费的大型数据库系统...原创 2019-04-05 23:47:10 · 181 阅读 · 0 评论 -
异常
异常main方法接受到了这个异常,main方法也没有异常的处理逻辑,继续抛出给main调用者JVM处理,jVM打印出这个异常,并且终止当前执行的这个程序。一、异常的处理throw关键字:可以使用此关键字在指定的方法中抛出指定的异常。注意: 1.throw必须写在方法的内部。 2.new 的对象必须是Exception对象或者其子类。 3抛出的异常对象后,必须处理这个异常对象,其...原创 2019-03-07 23:17:12 · 471 阅读 · 0 评论 -
线程池
线程池一、原理和作用如果并发的线程数量很多,并且每个线程都是执行一段很短的任务就结束了,这样会很浪费系统资源。为了避免这种不必要的系统开销,java中引入线程池的内容。线程池其实就是一个容器。ArrayList HashSet LinkedList HashMap当程序第一次启动时,可以创建多个线程,保存(add( new Thread(xxx)))在集合中;当我们想要是用线程的时候,直...原创 2019-03-10 23:29:29 · 125 阅读 · 0 评论 -
static静态
Static静态静态的方法和属性属于类,实例共享同一份(一)static 修饰成员变量static修饰的成员变量被类的实例共享,其中任何一个实例修改该成员变量,则另外一个实例的相应属性也被修改。底层实例的该属性是引用了类的static属性。(二)static修饰方法静态不能直接访问非静态非静态可以访问静态和非静态方法静态方法中不能使用this关键字静态方法先与非静态方法生...原创 2019-02-26 23:53:02 · 238 阅读 · 0 评论 -
Arrays
Arraysjava.util.Arrays是一个与数组相关的工具类,里面提供了大量静态方法,用来实现数组常见操作。public static String toString(数组);数组变成字符串public static void sort(数组);排序,在原数组基础上进行排序。对数字和字符串都能排序。备注:数值:升序,字符串:字母排序。练习package com.yuwenden...原创 2019-02-26 23:51:55 · 97 阅读 · 0 评论 -
ArrayList
一、Scanner二.Random三、ArrayList ApiArrayList sc=new ArrayList<>();public boolean add(E e);向集合中添加元素,参数的类型和泛型一致public E get(int index);取元素,类型为泛型。public E remove (int index);返回值是被删除的元素public...原创 2019-02-26 23:51:06 · 273 阅读 · 0 评论 -
可变参数
可变参数是JDK1.5后出现的新特性。使用前提: 当方法的参数列表的数据类型已经确定,但是个数不确定。使用格式:定义方法时使用 修饰符 返回值类型 方法名(数据类型…变量名){}原理: 可变参数底层是一个数据,根据传递参数个数的不同,会创建不同长度的数组,来存储这些参数,传递的参数个数,可以是0个(不传递),或者多个。注意事项: 一个方法的参数列表,值能有一个可变参数...原创 2019-03-05 23:59:27 · 266 阅读 · 0 评论 -
set集合
Set集合Set集合介绍继承自Collection接口,①不包含重复元素,②没有索引,没有带索引的方法。一、HashSetjava.util.HashSet实现了Set接口,特点: 不允许重复的元素 没有所以,没有索引的方法。 无序集合,存储元素取出元素的顺序可能不一致。 底层是几个哈希表结构由哈希表支持,不保证set的迭代顺序,底层不同步。Set&lt;Inte...原创 2019-03-05 23:58:37 · 208 阅读 · 0 评论 -
内部类
内部类一、内部类概念如果一个类的内部包含了另外一个类,则内部的那个类就称为内部类。例如:身体和心脏的关系,汽车和发动机的关系。分类:成员内部类局部内部类(包含匿名内部类)二、成员内部类及其使用(一)定义定义格式:修饰符 class 类名称{ 修饰符 class 类名称{ }}注意:内用外,可以随意访问,权限不受影响;外用内,一定需要借助内部类对象。public ...原创 2019-03-01 23:48:51 · 152 阅读 · 0 评论 -
泛型
泛型一、概念泛型是一种未知的数据类型,当我们不知道使用什么数据类型的时候我们可以使用泛型。可以看成是一个变量,用来接收数据类型。//ArrayList集合在定义的时候不知道存储什么类型的数据,使用泛型定义public class ArrayList<E>{//E代表的是未知的数据类型 public boolean add(E e){}}在创建集合对象的时候能够确定...原创 2019-03-04 22:53:13 · 121 阅读 · 0 评论 -
多态
多态Polymorphism一、多态的概念、格式与使用(一)概念多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同...原创 2019-02-28 22:31:52 · 392 阅读 · 0 评论 -
接口
接口接口就是一种公共的规范标准,只要符合规范标准,大家就能通用。一、接口定义的基本格式接口是多个类的公共规范接口是一种引用数据类型,最重要的内容就是其中的抽象方法。public interfaces name{ }备注:换成了interface后,编译生成的字节码文件也是.class接口中可以包含的内容有:常量、抽象方法(java 7) 默认方法、静态方法(java 8) ...原创 2019-02-27 23:39:21 · 177 阅读 · 0 评论 -
安装oracle过程中卡在45%不动的解决办法
在安装oracle的DBCA过程中,在创建并启动oracle实例(创建克隆数据库,进度条在45%)就进行不下去了,重装了几次终于找到问题的症结了,解决过程如下: 1、装了几遍就是那个问题,我突然想到要看看安装日志。 2、是在创建克隆数据库的地方出现问题的,我就找到E:/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/orcl/c...转载 2018-09-13 22:53:51 · 17957 阅读 · 2 评论