Java学习笔记
少年无为
少年无为、青年有为。
展开
-
Java学习笔记-JDK常用的包
java.lang:这个是系统的基础类,比如String、Math、Integer、System和Thread,提供常用功能。java.io:这里面是所有输入输出有关的类,比如文件操作等。java.net:这里面是有输入输出有关的类,比如URL、URLConnection等。java.util:这个是系统辅助类,特别是集合类Collection、List、Map等。java.sql:这个...原创 2019-07-08 07:32:37 · 568 阅读 · 0 评论 -
Java学习笔记-网络编程
网络编程主要内容软件架构CS/BS网络通信三要素TCP通信Socket套接字ServerSocket目标 能够辨别UDP和TCP协议特点 能够说出TCP协议下两个常用类名称 能够编写TCP协议下字符串数据传输程序 能够理解TCP协议下文件上传案例 能够理解TCP协议下案例2第一章 网络编程入门1.1软件结构C/S结构 :全称为Client/Server结构,...翻译 2019-07-10 21:09:08 · 1998 阅读 · 0 评论 -
Java中return、break与continue的区别
我们用人的一生来举例:1、如果return了,那么就说明这个人已经走到了生命的尽头,等待投胎转世了。2、如果break了,可以认为这个人被突然提前退休了,以后就都颐养天年不用上班了。3、如果continue了,就认为这个人今天放了一天假,明天还是要继续上班工作的。...原创 2019-07-11 15:12:12 · 1085 阅读 · 0 评论 -
Java学习笔记-异常
异常的概念:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 异常本身就是一个类,产生异常就是创建异常对象并抛出一个异常对象,java处理异常的方式是中断处理。 异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行。异常体系:异常的根类是java.lang.Throwable java.lang.error(攻城狮不能处理,只能尽...原创 2019-07-06 18:20:43 · 2243 阅读 · 0 评论 -
Java学习笔记-基础加强
知识点1. Junit单元测试2. 反射(重点)3. 注解Junit单元测试:* 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。* Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test Calculat...翻译 2019-07-16 07:31:50 · 990 阅读 · 0 评论 -
Java学习笔记-线程概述
1、新建状态(New):新创建了一个线程对象2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。3、运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。4、阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态...原创 2019-07-20 09:37:02 · 840 阅读 · 0 评论 -
Spring学习总结
初步认识了spring并学习了反转控制和依赖注入: *Spring是什么: Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在已经不止应用于企业应用。 是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架: ·· 从大小与开销两方面而言Spring都是轻量的。 ·· 通过控制反转(IOC)的技术达到...原创 2019-08-23 17:56:42 · 245 阅读 · 0 评论 -
Spring学习笔记-阶段一
Spring快速入门编写流程下载Spring开发包导入Spring的jar包配置Spring的核心xml文件在程序中读取Spring的配置文件来获取Bean[Bean其实就是一个new好的对象]Spring的核心jar包spring-core-xxx.RELEASE.jar包含Spring框架基本的核心工具类,Spring其他组件都要使用到这个包里的类,是其他组件的基本核心...原创 2019-08-24 21:42:00 · 277 阅读 · 0 评论 -
Spring学习笔记-阶段二
未使用注解时web-service-dao配置流程讲解配置如下One基类package com.cyh.model;public class One { private String name; private int age; public One() { } public One(String name, int age) { ...原创 2019-09-01 17:22:56 · 195 阅读 · 0 评论 -
Spring学习笔记-总结大全
Spring开发流程下载Spring开发包导入Spring的jar包配置Spring的核心xml文件在程序中读取Spring的配置文件来获取Bean[Bean其实就是一个new好的对象]JDK1.7Spring的核心jar包spring-core-xxx.RELEASE.jar包含Spring框架基本的核心工具类,Spring其他组件都要使用到这个包里的类,是其他组件的基本...原创 2019-09-09 08:24:25 · 524 阅读 · 0 评论 -
MyBatis学习笔记-阶段一
MyBatis简介MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。原理:Mybatis 通过 l xml 或注解的方式将要执行的各种 statement(statement、preparedS...原创 2019-09-09 08:26:19 · 744 阅读 · 0 评论 -
MyBatis学习笔记-阶段二
动态SQLif和whereif标签:作为判断入参来使用的,如果符合条件,则把if标签体内的SQL拼接上。==注意:==用if进行判断是否为空时,不仅要判断null,也要判断空字符串。where标签:会去掉条件中的第一个and符号。<select id="findUserList" parameterType="vo.UserQueryVO" resultType="user...原创 2019-09-10 21:00:55 · 284 阅读 · 0 评论 -
Java学习笔记-缓冲流、转换流、序列化流
缓冲流、转换流、序列化流主要内容缓冲流转换流序列化流打印流目标 能够使用字节缓冲流读取数据到程序 能够使用字节缓冲流写出数据到文件 能够明确字符缓冲流的作用和基本用法 能够使用缓冲流的特殊功能 能够阐述编码表的意义 能够使用转换流读取指定编码的文本文件 能够使用转换流写入指定编码的文本文件 能够说出打印流的特点 能够使用序列化流写出对象到文件 能够使用反序列化...翻译 2019-07-10 17:41:00 · 2147 阅读 · 0 评论 -
Java学习笔记-字节流、字符流
字节流、字符流主要内容IO流字节流字符流异常处理Properties第一章 IO概述1.1 什么是IO生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrl+s ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。我们把这种数据的传输,可以看做是一种数据的流动,按照...翻译 2019-07-09 21:32:09 · 2314 阅读 · 0 评论 -
Java学习笔记-File类、递归
第一章 File类1.1 概述java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。1.2 构造方法public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。public File(String parent, String child) :从父路径名字符串和子路径...翻译 2019-07-09 19:39:44 · 2350 阅读 · 0 评论 -
Java学习笔记-Get和Post的区别
1.get是从服务器上获取数据,而post是向服务器提交数据。2.get传输的数据量较小,不能大于2KB。post传送的数据量较大,一般默认为不受限制。3.get安全性非常低,post安全性较高。但是执行效率却比post方法好。4.在进行文件上传时只能使用post而不能是get。...原创 2019-07-08 07:35:38 · 2658 阅读 · 0 评论 -
Java学习笔记-多态的具体体现
面向对象编程有四个特征:抽象、封装、继承、多态。 多态有四种体现形式: 1.接口和接口的继承 2.类和类的继承 3.重载 4.重写 其中重载和重写是核心。 # 重载:重载发生在同一类中,在该类中如果存在多个同名方法,但是方法的参数类型和个数不 一样,那么说明该方法被重载了。 #重写:重写发生在子类继承父类的关系中,父类中的方法被子类继承,方法名、返回...原创 2019-07-08 07:41:10 · 2723 阅读 · 0 评论 -
Java学习笔记-StringBuffer、StringBuilder、String的区别
String 字符串常量 不可变 使用字符串拼接时是不同的2个空间Stringbuffer 字符串变量 可变 线程安全,字符串拼接直接在字符串后追加StringBuilder 字符串变量 可变 非线程安全,字符串拼接直接在字符串后追加特点执行效率:StringBuilder > Stringbuffer > StringString是一...原创 2019-07-08 07:52:08 · 2658 阅读 · 0 评论 -
Java学习笔记-Hashtable和HashMap的区别
# HashMap不是线程安全的,HashTable是线程安全的# HashMap允许空(null)的键和值(key),HashTable则不允许# HashMap性能优于HashTable关于Map的介绍: 1.Map是一个以键值对存储的接口。Map下有两个具体的实现,分别是HashMap和HashTable。 2.HashMap是线程非安全的,HashTable...原创 2019-07-08 08:00:17 · 2595 阅读 · 0 评论 -
Java学习笔记-多线程
并发与并行并发:指两个或多个事件在同一个时间段内发生并行:指两个或多个事件在同一时刻发生(同时发生)在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单CPU系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运行的时间是非常短的。而在多个CPU系统中,则这些可以并发执行的程序便可以分配到多...原创 2019-07-08 15:29:18 · 2870 阅读 · 0 评论 -
Java学习笔记-线程安全
线程安全如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。现在通过一个案例来延时线程的安全问题:电影院卖票,一共100张票数,我们现在通过3个窗口来卖100张票:模拟票:public class Ticket implements Runnable { private in...原创 2019-07-08 20:06:47 · 2606 阅读 · 0 评论 -
Java学习笔记-线程状态
线程状态概述当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,有几种状态呢?在APi中java.lang.Thread.State这个枚举中给出了六种线程状态:这里先列出哥哥线程状态发生的条件,下面将会对每种状态进行详细解析线程状态导致状态发生条件NEW(新建)线程刚被创建,但是并未启动。还没调用start方法。R...原创 2019-07-08 21:44:31 · 2750 阅读 · 0 评论 -
Java学习笔记-Thread类
java.lang.Thread 类,API中该类中定义了有关线程的一些方法,具体如下:构造方法:public Thread() :分配一个新的线程对象。public Thread(String name) :分配一个指定名字的新的线程对象。public Thread(Runnable target) :分配一个带有指定目标新的线程对象。public Thread(Runnable t...原创 2019-07-08 22:04:51 · 2583 阅读 · 0 评论 -
Java学习笔记-等待唤醒机制
等待唤醒机制线程间通信概念:多个线程再处理同一个资源,但是处理的动作(线程的任务)却不相同。比如:线程A用来生成包子的,线程B是用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。为什么要处理线程间通信:多个线程并发执行时,在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务,并且我们希...原创 2019-07-09 10:21:41 · 2568 阅读 · 0 评论 -
Java学习笔记-线程池
线程池思想概述我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这样的效果。今天我们就...原创 2019-07-09 10:55:43 · 2529 阅读 · 0 评论 -
Java学习笔记-Lambda表达式
函数式编程思想概述在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。面向对象的思想:做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情。函数式编程思想:只要能获取到结果,谁去做的,怎么做的都不重要,重视的是...原创 2019-07-09 14:27:02 · 2229 阅读 · 0 评论 -
MyBatis学习笔记
MyBatis简介MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。原理:Mybatis 通过 l xml 或注解的方式将要执行的各种 statement(statement、preparedS...原创 2019-09-15 21:28:52 · 399 阅读 · 0 评论