![](https://img-blog.csdnimg.cn/20190905231224361.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
sswqzx
这个作者很懒,什么都没留下…
展开
-
javaBean与map互转
博客当笔记用、挺好。1、map转javabean //map转javaBean public static <T> T mapTobean(Map<String,Object> beanMap, Class<T> beanType) throws Exception { T obj = beanType.newInst...原创 2019-12-16 23:28:55 · 526 阅读 · 0 评论 -
Java SE多线程部分--19.线程安全
1、线程安全 java的内存模型中有主内存和线程的工作内存之分,主内存上存放的是线程共享的变量(实例字段,静态字段和构成数组的元素),线程的工作内存是线程私有的空间,存放的是线程私有的变量(方法参数与局部变量)。线程在工作的时候如果要操作主内存上的共享变量,为了获得更好的执行性能并不是直接去修改主内存而是会在线程私有的工作内存中创建一份变量的拷贝(缓存),在工作内存上对变量的...原创 2018-09-29 20:42:04 · 323 阅读 · 0 评论 -
Java SE多线程部分--20.线程状态
1、概述当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,有几种状态呢?在API中java.lang.Thread.State 这个枚举中给出了六种线程状态2、Timed Waiting(计时等待)static void sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系...原创 2018-09-29 23:27:48 · 252 阅读 · 0 评论 -
Java SE多线程部分--21.等待唤醒机制
1、概述等待唤醒机制就是用于解决线程间通信的问题、常见的方法如下:1. wait:线程不再活动,不再参与调度,进入 wait set 中,因此不会浪费 CPU 资源,也不会去竞争锁了,这时的线程状态即是 WAITING。它还要执行一个特别的动作,也即是“通知(notify)”在这个对象上等待的线程从wait set 中释放出来,重新进入到调度队列(ready queue)中2. n...原创 2018-09-30 08:05:10 · 316 阅读 · 0 评论 -
Java SE多线程部分--22.线程池
1、概述线程池:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。好处:1. 降低资源消耗。减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。2. 提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。3. 提高线程的可管理性。可以根据系统的承受能力,调整线程池中线程的数目...原创 2018-09-30 08:36:19 · 773 阅读 · 0 评论 -
Java SE JDK8新功能--23.Lambda表达式
1、概述简介:Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口格式:()->{}():接口中抽象方法的参数列表.-> :分隔符 {}:接口中抽象方法的实现体.2、Lambda使用条件使用Lambda表达式必须有接口、且接口中有且仅有一个抽象方法、或必须有“函数式接口”作为方法的参数函数式接口:只...原创 2018-10-09 08:28:11 · 845 阅读 · 0 评论 -
java销毁sesseion
设置sesseionUser user = userDao.findUserByPhone(phone);//User是实体类request.getSession().setAttribute("user",user);清除session对象内容的主要方法如下: (1)、removeAttribute()方法。该方法是用来删除session对象中保存的指定属性信息。...原创 2018-10-25 10:56:49 · 407 阅读 · 0 评论 -
String、StringBuilder、StringBuffer
String:适用于少量的字符串操作的情况 StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况(底层用的是StringBuilder) StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况执行速度,快到慢:StringBuilder > StringBuffer > StringString最慢:String被设计成不...原创 2018-12-14 12:38:14 · 227 阅读 · 0 评论 -
web网站功能实现的业务逻辑分析
自已逻辑思维能力较差、所以要多做总结。web开发:前后端分离、业务逻辑:写代码前先要搞懂业务逻辑(最重要)前端查看请求接口:需求分析 、接口中参数、要调用什么表、表之间关系、要返回什么数据、前端怎么接收。后台java接收:响应前端请求接口、一层一层对应写出实现方法。再响应给前端(中间service层可能会查询几张表)java代码实现问题:会有很多代码不懂或不理解的地方、尤其是j...原创 2018-12-16 09:59:29 · 7010 阅读 · 1 评论 -
Arrays.asList的用法
Arrays.asList的用法:将数组转化为list (1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean) (2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新 (3)不支持add和remove方法 List<String> names = categoryService....原创 2018-12-16 10:18:23 · 341 阅读 · 0 评论 -
构造代码块 和 构造方法 执行顺序
构造代码块:定义在类的成员位置,直接使用{ },在{}中写代码内容。位置:类中,方法外,和方法并列,和先后位置无关。执行时机:创建对象的时候执行一次。在构造方法隐式3步的最后一步。当构造代码块执行结束之后,开始执行构造方法本身的代码内容格式:public class ClassName{ // 构造代码块 { // 执行语句 }}构造代码块和构造方法执...原创 2019-01-03 11:42:57 · 4340 阅读 · 0 评论 -
class文件的加载过程
1、在加载class文件的时候,JVM会先加载类中的所有静态成员( 方法,变量,静态代码块 )都加载到方法区class文件的所处静态区中2、当把所有的静态成员加载完成之后,开始给类中的所有静态成员变量进行默认初始化3、当类中的所有静态成员变量默认初始化之后,接着开始给所有静态成员变量显示赋值。4、当类中所有的静态成员变量显示赋值结束之后,静态代码块才会运行。5、当静态代码块执行结束...原创 2019-01-03 14:33:17 · 3021 阅读 · 0 评论 -
Java中静态代码块、构造代码块、构造方法、普通方法
一个类里执行顺序为:静态代码块、构造代码块、构造方法、普通方法子父类:父类静态代码块子类静态代码块父类构造代码块父类构造方法子类构造代码块子类构造方法...原创 2019-03-18 16:41:08 · 447 阅读 · 0 评论 -
java通过身份证号码获取出生日期、性别、年龄
@Test public void test9() { Map<String, String> birAgeSex = getBirAgeSex("34242219900315460"); for (String s: birAgeSex.keySet()){ String v = birAgeSe...转载 2019-03-29 21:51:15 · 2902 阅读 · 0 评论 -
Map线程安全的四种实现方法
Map 线程安全四种方法:1、使用 synchronized 关键字,代码如下synchronized(anObject) { value = map.get(key);}2、使用 JDK1.5提供的锁(java.util.concurrent.locks.Lock)lock.lock();value = map.get(key);lock.unlock();3、使用 ...原创 2019-04-01 19:11:18 · 2236 阅读 · 0 评论 -
java常见异常
1、空指针异常类:NullPointerException调用了未经初始化的对象或者是不存在的对象。经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针, 即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化, 依然是空的,所以还需要对每个元素都进行初始化(如果...转载 2019-05-06 14:24:05 · 1071 阅读 · 1 评论 -
Java SE多线程部分--18.多线程
1、概述多线程:指的是这个程序(一个进程)运行时产生了不止一个线程2、并发与并行并行:指两个或多个事件在同一时刻(时间点)发生(同时发生)。并发:指两个或多个事件在同一个时间段内发生。3、线程与进程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进...原创 2018-09-28 10:37:22 · 376 阅读 · 0 评论 -
Java SE集合部分--17.Map集合
1、概述Map集合:由一系列键值对映射组成的集合、就像php中关系数组。Map是一个接口、它的实现类有HashMap、LinkedHashMapMap常用方法:2、常用方法package com.blog.test;import java.util.HashMap;public class Test { public static void main...原创 2018-09-28 09:14:59 · 357 阅读 · 0 评论 -
Java SE面向对象--11.final、权限、内部类
学习目标final关键字 - 权限 - 内部类 - 引用类型一、 final关键字1.1 概述学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的。为了避免这种随意改写的情况,Java提供了final 关键字,用于修饰不可改变内容。final: 不可改变。可以用于修饰类...原创 2018-09-16 08:36:32 · 333 阅读 · 0 评论 -
JavaEE经典三层模拟登陆
三层模拟登录原理如下图:1、准备数据-- 创建库create database db1;-- 创建数据表 usercreate table user( id int primary key auto_increment, username varchar(20) unique not null, password varchar(20) not null...原创 2018-09-18 00:19:54 · 609 阅读 · 0 评论 -
Java SE基础部分--01.Java发展、JDK安装、常量、变量、数据类型
学习目标:1、java语言的发展、2、java新特性3、进制间的转换、常用DOS命令4、搭建java开发环境、打印”Hello Java!” 5、java注释、标释符、书写规范6、常量、变量、数据类型一、什么是Java语言 java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程...原创 2018-09-13 11:09:27 · 558 阅读 · 1 评论 -
Java SE基础部分--02.Java数据类型转换、运算符、方法入门
学习目标:1、数据类型转换、2、算数运算符、3、赋值运算符、4、比较运算符、5、逻辑运算符、6、三元运算符、7、方法定义和调用一、数据类型转换:1、数据类型转换分为:隐式类型转换、强制类型转换。隐式转换:是将容量小的类型自动转成容量大的数据类型、 顺序为:byte 、short、char、int、long、float、double例: /...原创 2018-09-13 13:51:30 · 457 阅读 · 0 评论 -
Java SE基础部分--03.Java流程控制
学习目标:1、流程控制2、if else判断语句3、switch选择语句4、for循环语句5、while循环语句6、do while循环语句7、跳出语句break,continue一、流程控制:1、流程控制:分为顺序结构、判断(选择)结构、循环结构2、顺序结构:程序是按照从上往下的顺序执行的。3、判断语句:当程序执行过程中、需要加一些条件、就要使用jav...原创 2018-09-13 14:46:02 · 315 阅读 · 0 评论 -
Java SE基础部分--04.IDEA、Java方法
学习目标:1、集成开发工具IDEA(常用快捷键)2、方法的参数和返回值3、方法的重载一、IDEA常用快捷键 安装省略………1、IDEA 常用快捷键://1.给包或者类重命名 shift+f6//2.快速生成main 方法输入:psvm 然后回车//3.快速输出一个变量soutv 回车//4.使用for 循环打印写 fori 回车//5.如果想使用for ...原创 2018-09-13 15:27:04 · 474 阅读 · 0 评论 -
Java SE基础部分--05.数组
学习目标:1、数组定义和访问2、数组原理内存图3、数组的常见操作4、数组作为方法参数和返回值一、数组的定义和访问1、数组概述数组:一个定长的容器。容器:是指能够保存数据的空间。2、数组的定义 方式一:数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度]; 例子:int[] arr ...原创 2018-09-13 22:36:41 · 363 阅读 · 0 评论 -
Java SE面向对象--06.类与对象、封装、构造方法
学习目标:面向对象类与对象三大特征——封装构造方法一、面向对象1.1 引入面向对象(了解)在开发的过程中,我们经常会遇到在多个程序中使用到同一个功能的情况。如下需求: 需求:定义类,在类中有定义功能对数组求和的需求class Demo1 { public static void main(String[] args) { //定义一个...原创 2018-09-14 12:41:34 · 597 阅读 · 0 评论 -
Java SE面向对象--07.Scanner类、Random类、ArrayList类
学习目标Scanner类Random类ArrayList类一、 Scanner类1.1 什么是Scanner类如果想把数据改进为键盘录入,提高程序的灵活性。想要完成键盘录入的功能就需要使用java中的Scanner类。例如,以下代码使用户能够从 System.in 中读取一个数: Scanner sc = new Scanner(System.in);...原创 2018-09-14 13:21:11 · 489 阅读 · 0 评论 -
Java SE面向对象--08.String类、static、Arrays类、Math类
学习目标:String类static关键字Arrays类Math类一、String类(很重要)1.1 String类概述概述在前面学习常量的时候介绍过Java中的常量类型: 整数、小数、字符、字符串、null、真假值 true 、 false 字符串常量,它在Java中不属于基本数据类型, 而是引用类型,也称为类类型。Java中使用String这...原创 2018-09-14 20:15:47 · 381 阅读 · 0 评论 -
Java SE面向对象--12.Object、常用API、包装类
学习目标Object类Date、DataFormat、CalendarSystem类StringBuilder包装类一、Object类1、概述:Object类是所有类的父类、有些类直接继承Object、而另一些类间接继承Object类2、构造方法:public Object();3、常用方法:3.1、getClass();获取类型、判断对象的真实类型...原创 2018-09-20 11:24:48 · 375 阅读 · 0 评论 -
Java SE面向对象--09.继承、super、this、抽象类
学习目标:三大特性——继承方法重写super关键字this关键字抽象类一、 继承1.1 继承引入面向对象语言三大基本特征: 封装(private)、继承、多态Java中的类是描述生活中的某类事物的。而在生活中事物和事物之间难免会存在一些联系生活中事物和事物之间会有继承的关系。在Java中我们的类就是描述事物的,那么也就是说我们的类之间也应该存在...原创 2018-09-15 13:38:25 · 483 阅读 · 0 评论 -
Java SE面向对象--13.Java泛型
1、概述在前面学习集合时,我们都知道集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成Object类型。当我们在取出每一个对象,并且进行相应的操作,这时必须采用类型转换。public class GenericDemo { public static void main(String[] args) { Collection coll = new Array...原创 2018-09-26 11:14:10 · 366 阅读 · 0 评论 -
Java SE面向对象--14.Java异常
一、异常1、概述异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。2、异常体系Throwable体系: Error:严重错误Error,无法通过处理的错误,只能事先避免,好比绝症。 Exception...原创 2018-09-27 13:05:42 · 337 阅读 · 0 评论 -
Java SE集合部分--15.Collection单列集合
Java集合的分支图:如下。标红表示重要、其他作为了解1、概述集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection 和双列集合java.util.Map ,今天我们主要学习Collection 集合从上图可以看出:Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是: List 的特点...原创 2018-09-27 16:53:55 · 484 阅读 · 0 评论 -
Java SE集合部分--16.List接口、Set接口、Collections集合工具类
学习目标List集合数据结构Set接口Collections一、List接口1、概述java.util.List 接口继承自Collection 接口、有序可重复List接口实现类、ArrayList、LinkedList常用方法:public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上。p...原创 2018-09-27 23:39:13 · 357 阅读 · 0 评论 -
Java SE面向对象--10.接口、多态
学习目标接口三大特征——多态引用类型转换一、接口1.1 概述接口,是Java语言中一种引用类型,接口中只定义了方法,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(JDK 9)。接口的定义,它与类的定义方式相似,和类是同等级别的。使用 interface...原创 2018-09-16 00:34:33 · 371 阅读 · 0 评论