
JAVA
文章平均质量分 80
左五先生
这个作者很懒,什么都没留下…
展开
-
Java 8新特性 函数式接口&方法引用&lambda表达式
public interface Iface { void doit(Integer i,String s);}public class Mapmap { public static Map<Integer,Iface> map=new HashMap<Integer,Iface>();}public class Functiondemo { { Mapmap.map.put(1,this::m1); Mapm...原创 2020-08-17 12:09:10 · 301 阅读 · 0 评论 -
logback的使用
logback的使用: 配置登录环境。您可以通过几种或多或少的复杂方法来执行此操作。 在希望执行日志记录的每个类中,Logger通过调用org.slf4j.LoggerFactory该类的 getLogger()方法,将当前类名称或该类本身作为参数传递来检索 实例 。 通过调用其记录方法(即debug(),info(),warn()和error()方法)使用此记录器实例。这将在配置的附加程序上生成日志记录输出。 logback分为三个模块:logback-core,logbac原创 2020-08-17 12:05:02 · 2324 阅读 · 0 评论 -
JUC
原创 2020-08-13 12:09:27 · 169 阅读 · 0 评论 -
Java学习笔记 —— JDK 8 对于null 的判断 Optional
package com.example.demo.optional;import lombok.Data;import java.util.Optional;/** * Created with IntelliJ IDEA. * * @author: hang hang * @Date: 2020/08/12/10:39 * @Description: 对于Java 8 提供的Optional类进行学习 */public class OptionalTest { @Dat.原创 2020-08-12 11:41:20 · 817 阅读 · 0 评论 -
高并发和并发编程
第一章1.并发编程:线程安全+线程封闭+线程调度+同步容器+并发容器+AQS+JUC2.高并发解决思路与手段:扩容+缓存+队列+拆分+服务降级与熔断+数据库切分+分库分表3.基础知识讲解与核心知识准备:A.cpu多级缓存+缓存一致性+乱序顺序优化B.java内存模型+jmm规定+抽象结构+同步操作与规则C.并发优势与风险D.并发模拟+postman、jmeter...原创 2020-04-10 23:10:23 · 377 阅读 · 0 评论 -
Java源码分析:常用类之String,StringBuffer,StringBuilder
首先看一下String的源码:1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。 private final char value[]; StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder...原创 2019-01-20 09:42:55 · 192 阅读 · 0 评论 -
Java面向对象
面向对象的基本概念一. 类1.什么是类:答:类是一组对象的分类,在Java中可以看成类别的划分2.类如何创建:答:public class 类名{//属性:静态描述//方法动态描述:} 二. 对象1.什么是对象:答:对象是对类的具体表现,具体实现!2.如何产生一个对象:答:new3.匿名对象:没有名字的对象,匿名对象其实就是定义对象的...原创 2019-01-04 00:52:33 · 197 阅读 · 0 评论 -
Java集合框架
集合类的由来:对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定。就使用集合容器进行存储。 集合特点:1,用于存储对象的容器。2, 集合的长度是可变的。3,集合中不可以存储基本数据类型值。4.注意集合的嵌套集合容器因内内部的数据结构不同,有多种具体容器。不断的向上抽取,,就形成ア集合框架。框架的頂屋collection接口:collectian的常见...原创 2019-01-04 00:40:13 · 172 阅读 · 0 评论 -
ATM机系统:简单的Java逻辑实现
ATM机系统: package pro0624;import java.util.Scanner;public class ATM {int 密码 = 123456;double 余额 = 7963.2;String log = "";Scanner in = new Scanner(System.in);public void 输入密码(in...原创 2019-01-04 00:11:00 · 663 阅读 · 0 评论 -
Java基础知识
第一节课:public class hello{//java的主程序入口,主线程public static void main (String[] args){//输出一段内容Syetem.out.println("Hello,world!");}}/* 注意:Java区分大小写,类名不能使用关键字Java中的符号都是英文状态下的半角主程序有四要素组...原创 2019-01-03 23:55:00 · 208 阅读 · 0 评论 -
Java - 泛型
泛型 1.5以后jdk1. 5出现的安全机制。好处:1,将运行时期的问题classCastException转到了编译时期。2.避免了强制转换的麻烦。 <>:什么时候用?当操作的引用数据类型不确定的时候。就使用<>。将要操作的引用数据类型传入即可,其实<>就是一个用于接收具体引用数据类型的参数范围。不可以传入基本类型; 在程序...原创 2019-01-04 00:17:15 · 125 阅读 · 0 评论 -
java - 反射
反射:就像一面镜子,检测类的基本结构。学习反射先要了解Java中类的加载过程。类加载器类的加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。加载 就是指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都会建立一个Class对象连接:验证: 是否有正确的内部结构,并和其他类协调一致 准备: ...原创 2018-12-09 20:19:33 · 142 阅读 · 0 评论 -
Java的源码:关键字章
1.volatile:volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。在两个或者更多的线程访问的成员变量上使用volatile。当要访问的变量已在synchronized代码块中,或者为常量时,不必使用。2.native是方法修饰符,native是由另外一种语言实现的本地方法3.final关键...原创 2019-01-19 10:42:25 · 292 阅读 · 0 评论 -
Java源码分析:Object类源代码分析
Object类源代码分析:package java.lang;/** * Class {@code Object} is the root of the class hierarchy. * Every class has {@code Object} as a superclass. All objects, * including arrays, implement the ...原创 2019-01-19 10:47:07 · 254 阅读 · 0 评论 -
log4j日志
四个等级:error>warn>info>debug例子:导jar包:<!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>lo...原创 2019-01-08 23:47:37 · 152 阅读 · 0 评论 -
jvm:new时的对象的创建
new 一个对象的时候JVM都做了哪些事情:1、 检查这个指令在常量池中能否定位到一个类的符号引用,并检查这个类是否已经被加载,未加载时,执行类加载,同时初始化类中静态的属性(赋默认值)并执行静态代码块(静态代码块只会在类加载的时候执行一次)2、分配内存空间,同时初始化非静态的属性(赋默认值): 为新生对象分配内存。[指针碰撞]/[空闲列表]分配方式。 ...原创 2019-01-20 10:42:34 · 195 阅读 · 0 评论 -
java集合 Queue队列
Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。Queue的实现Queue的实现在Java中主要有三种,即:1.普通的队列其又分为了队列和堆(优先级队列)2.双端队列Deque3.阻塞队列:最为有名的队列实现。 阻塞队列与普通队列...原创 2019-10-03 11:15:51 · 275 阅读 · 0 评论 -
java 并发框架 核心AQS(AbstractQueuedSynchronizer)
类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...核心数据结构: 它维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(Node为元素的双向链表结构)(多线程争用资源被阻塞时会进入此队列)。这里v...原创 2019-10-03 18:19:02 · 417 阅读 · 1 评论 -
Java后端的四种基于HTTP协议下的数据传输方式
四种方式:URL重写 隐藏域表单 Cookie技术 Session技术目的:如果要保存某些HTTP请求过程中所产生的数据问题:由于HTTP协议是无状态协议(虽然Socket连接是有状态的,但每次用HTTP协议进行数据传输后就关闭的Socket连接,因此,HTTP协议并不会保存上一次的状态)解决办法:需要一种类似全局变量的机制保证数据在不同的HTTP请求之间共享。URL重写,隐藏...原创 2018-12-09 20:28:17 · 2992 阅读 · 0 评论 -
一个web端的基于servlet和jdbc的学生表操作示例
目录 目标步骤:MVC之间的关系:具体实现 一:建立数据库二:利用jdbc连接数据库。 三:绘制jsp显示页面 四:实现Java程序与页面之间的链接--------servlet目标实质:实现web界面化对数据库的查询显示,增加,删除,更改。应用:对软件用户的新建,更改,删除等。示例:有一张通信工程的学生表,其中包含学生的学号,姓名,班级,性别,...原创 2019-01-04 00:56:28 · 849 阅读 · 0 评论 -
线程的创建方式
目录 创建线程:创建线程的方式:线程常用方法:start和run方法的区别:控制线程的结束:创建线程:创建线程的目的是为了开启一条执行路径,去运行指定的代码和其他代码实现同时运行。 而运行的指定代码就是这个执行路径的任务。jvm创建的主线程的任务都定义在了主函数中。而自定义的线程它的任务在哪儿呢? Thread类用于描述线程,线程...原创 2018-11-12 20:05:07 · 1381 阅读 · 0 评论 -
进程与线程
进程与线程:进程:每个进程都有独立的代码和数据空间(进程上下文)进程之间的切换会有较大开销,一个进程包含1-n个线程。(进程不能实现任何实际操作,要依靠线程)当一个程序进入内存运行时,即变成一个进程。进程是处于运行过程中的程序。 进程是操作系统进行资源分配和调度的一个独立单位。进程的三个特征:1.独立性 独立存在的实体,每个进程都有自己独立私有的一块内存空间。2.动态...原创 2018-11-12 19:53:43 · 234 阅读 · 0 评论 -
Java - JDBC
JDBC概念和数据库驱动程序 A: JDBC概念和数据库驱动程序 a: JDBC概述 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API, 可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Ja...原创 2018-11-19 00:33:24 · 163 阅读 · 0 评论 -
Java中的锁
目录1.同步方法1.1方法内的变量为线程安全的1.2实例变量非线程安全1.3多个对象多个锁1.4synchronized与锁对象1.5脏读1.6synchronized锁重入1.7出现异常锁自动释放1.8同步不具有继承性 2.同步代码块2.1synchronized方法的弊端 2.2synchronized同步代码块的使用2.3用同步代码块解...原创 2018-11-15 16:44:08 · 641 阅读 · 0 评论 -
Java - IO
l0(Input Output)流目录一:Io流整体结构:二:各种流的详细描述:一:字节流和字符流:二:输出流和输入流:三:节点流:四:处理流(装饰流):五:其他IO流:二:流的操作原理:三:在编程中如何使用IO:概念和作用:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据...原创 2018-11-12 00:35:21 · 136 阅读 · 0 评论 -
Java - 文件类
在Java中对文件的写入,读取,复制,删除操作需要借助File类和IO类共同实现。File类:文件和目录路径名的抽象表示形式。在Java.io包下,文件和目录都是使用File来操作的,但File不能访问文件本身,这时要借助IO流。File.separator 文件静态属性,为目录分割符在windows中等同于\\ 方法:boolean createNewFile() 创建...原创 2018-11-11 23:35:24 · 754 阅读 · 0 评论 -
Java中的正则表达式
在java.util.regex.Pattern类 是一个final类 边界符号:^ 正则的开始$ 正则的结束- 从什么到什么, 表是数量|| 或(默认)&& 且? 0-1+ 1-无穷* 0-无穷[] 表是一个字符 通配符:. 任意字符\\d 数字\\D 非数字\\w 单词字符:[a-zA-Z_0-9]...原创 2018-09-23 20:05:11 · 211 阅读 · 0 评论 -
Java常用类
常用类: 一:字符串类: 1.String(重点):常量字符串,值不可修改隶属于Java.lang包,lang包(提供利用 Java 编程语言进行程序设计的基础类)不需要导入,可以直接使用 String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因...原创 2018-09-23 20:08:29 · 139 阅读 · 0 评论 -
Java异常处理
异常处理:一:异常:程序在运行过程中出现的不正常的现象二:分类:异常和错误的区别:异常是程序员能够处理的情况,而错误一般是硬件,运行环境设计等原因导致的,程序员不能去处理的情况运行时异常和编译时异常的区别:一般来说,运行时异常为语义错误,而编译时异常为语法错误,连编译都无法通过; 三:异常处理 ——抓住异常1.三个主要的关键字:try(程序块中可能有异常) ...原创 2018-09-23 20:12:30 · 231 阅读 · 0 评论 -
线程安全问题
目录 线程线程:守护线程线程安全线程安全问题:解决思路:线程同步同步代码块同步函数:死锁:线程线程:就是进程中一个负责程序执行的控制单元执行路径一个进程中可以多执行路径,称之为多线程。一个进程中至少要有一个线程。开启多个线程是为了同时运行多部分代码。其实应用程序的执行都是cpu在做着快速的切换完成的。这个切换是随机的 守护...原创 2018-11-12 20:17:19 · 257 阅读 · 0 评论 -
线程间的通信
线程间的通信:多个线程在处理同一个资源但任务却不同目录等待唤醒机制另一种唤醒机制的实现等待唤醒机制一:当多个线程操作同一个资源时:多线程中的重要机制——等待,唤醒机制涉及的方法:wait():让线程处于冻结状态,被wait的线程会放在被锁对象的线程池中notify():唤醒线程池中的一个线程(任意的)notifyAll():唤醒线程池中的所有线程这些方法都必...原创 2018-11-12 20:25:03 · 152 阅读 · 0 评论 -
JSP标准标签库 - JSTL
JSTL(JavaServer ):JSP标准标签库 使用时: 先要加入jar包 然后再jsp文件中导入 类似于import 引入格式:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>目录1、什么是JSTL?2、JSTL一共包含四大标签库:...原创 2018-11-27 22:43:04 · 624 阅读 · 0 评论 -
JSP - ER表达式
EL 表达式概述:EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中脚本的编写。在page中必须声明 isELIgnored="false"用于显示东西;不显示null它显示容器中的值时,从4~1查找,查到哪个显示那个。EL从域中取出数据(EL最重要的作用)jsp脚本:<%=request...原创 2018-11-25 19:55:41 · 1504 阅读 · 0 评论 -
Java - servlet
目录实现一个servlet的方法: 1.现javax.servlet.Servlet接口 2.继承javax.servlet.GenericServlet 3.继承javax.servlet.http.HttpServlet; 注册servlet: 注解方式: servlet的生命周期:总结:Servlet 运行在服务...原创 2018-11-25 18:38:37 · 127 阅读 · 0 评论 -
Java - JSP
jsp就是将Java代码嵌入到HTML页面目录jsp运行原理-----jsp本质就是servlet(面试)★JSP的组成部分:jsp三大指令:page指令include指令taglib指令sp脚本和注释:例子:11_21项目下的jps01.jsp文件B/S技术:Brower/Server技术在eclipse里启动tomcat服务器:Window下sh...原创 2018-11-23 21:33:55 · 366 阅读 · 0 评论 -
jsp中的九大内置对象与四大容器
目录 内置对象: 一:out对象: 二:request对象★ 三:response对象 四:session对象★ 五:application对象 六:page对象 七:pageContext对象 八:exception对象 九:config对象内置对象:当前页面已经new好的对象,自己不必再重...原创 2018-11-23 22:05:46 · 2042 阅读 · 0 评论 -
Java - WEB
WEB采用B/S通信模式,通过超文本传送协议(HTTP, Hypertext transport procoll进行通信。通过浏览器地址栏编写URL,向服务器发送一个请求,服务器端根据请求进行相应的处理,处理完成之后,会向浏览器作出一个响应,及将服务器端资源发送给浏览器。软件架构 C/S架构: Client/Server 客户端/服务器。要求客户端电脑安装-一个客户端程序。 ...原创 2018-11-21 20:16:27 · 139 阅读 · 0 评论 -
Tomcat服务器
Tomcat服务器是一一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。 支持Servlet和JSP规范,且最新的Servlet和JSP规范总是能在Tomcat中得到体现。Apache软件基金会有两款常用软件:apacheweb服务器和tomcatweb服务器。 a...原创 2019-01-04 00:57:46 · 175 阅读 · 0 评论 -
maven项目
maven项目下的各个文件意义:src/main/java 源代码文件夹(编写代码区)src/main/resources 配置文件src/test/java 测试文件夹webapp 网站项目根目录(主目录) WEB-INF:项目配置文件夹(程序员无法读取) lib文件夹:当前项目的所有jar包放置处,MAVEN除外 ...原创 2018-11-21 19:45:00 · 154 阅读 · 0 评论 -
JDBC 2
1 JDBC中的主要类(接口)在JDBC中常用的类有:DriverManager;Connection;Statement;ResultSet。 2 DriverManager其实我们今后只需要会用DriverManager的getConnection()方法即可:1.Class.forName(“com.mysql.jdbc.Driver”);//注册驱动2.Stri...原创 2018-11-19 00:47:12 · 243 阅读 · 0 评论