自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 LeetCode(2):1109. 航班预订统计

java实现(提交失败因为内存太大,因为自己想出来的舍不得扔。。)1、首先定义一个二维数组,将bookings数组里面的内容全部转化为二维数组形式2、首先先算出第一个航班的数量就是第一行加起来。3、从第i(i>=2)个航班用i遍历就是从第1行到i-1行的所有,列值为i以后的所有加起来再加上第i行所有4、比如第二次航班是5、第三次航班6、第四次航班package test...

2020-02-28 22:35:16 135

原创 LeetCode(1):面试题33. 二叉搜索树的后序遍历序列

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。思路1、后序遍历最后一个是根节点。2、左子树都比根节点小,可以循环找到左子树和右子树临界点。3、递归左子树、右子树。java实现class Solution { public boolean verifyPostord...

2020-02-27 23:51:29 97

原创 java动态性(3):字节码操作

一、介绍1、java动态性常用实现方式:反射、字节码操作。2、.java文件经过javac编译成.class文件,.class文件被JVM拿去生成的就是字节码文件。3、操作字节码可以实现如下功能:(1)动态生成新的类。(2)动态改变某个类的结构(添加、删除、修改 新的属性/方法)。4、操作字节码优势:(1)比反射开销小。(2)JAVAasist性能高于反射,小于ASM。二、常见字...

2020-02-19 09:52:07 191

原创 java动态性(2):Rhino脚本引擎执行JavaScript

示例public class Test { public static void main(String[] args) throws ScriptException, NoSuchMethodException { //获得脚本引擎 ScriptEngineManager sem = new ScriptEngineManager(); ScriptEngine se = sem...

2020-02-18 16:25:35 220

原创 mybatis入门(5):延迟加载、立即加载

一、延迟加载1、举例:一个用户有100个账户:​ (1)在查询用户时,用户下的账户信息应该是需要哪个账户就查询哪个账户​ (2)在查询账户时应当连带着一起把用户信息也查询2、定义​ (1)延迟加载:在真正使用数据时才发起查询,不用的时候不查询,又称为按​ 需加载(懒加载)。(一对多、多对多)​ (2)立即加载:不管用不用数据,只要调用方法就马上进行查询。(多对一,一对一)具体...

2020-02-17 23:19:44 96

原创 mybatis入门(4):动态SQL语句(if、where、foreach标签)

一、if标签1、映射配置文件: <!--根据条件查询--> <select id="findUserByCondition" resultType="user" parameterType="user"> select * from user where 1=1 <if test="name!=null"> ...

2020-02-17 15:49:50 258

原创 mybatis入门(3):typeAliases标签和package标签

一、typeAliases标签:取别名1、parameterType为int时可以写int、Integer、java.lang.Integer系统都可以解读为int类型,因为系统内部用typeAliases对其进行了包装。同样自己也可以对自己的Javabean取别名。(在主配置文件中) <update id="updateUser" parameterType="com.hu.be...

2020-02-16 15:44:56 1161

原创 java动态性(1):动态编译

一、通过JavaCompiler动态编译1、第一个参数:为java编译器提供参数。2、第二个参数:得到java编译器的输出信息3、第三个参数:接受编译器的错误信息。4、第四个参数:可变参数(是一个String数组)能传入一个或者多个java源文件4、返回值:0代表编译成功,非0代表编译失败。public static int compileFile(String sourceFile)...

2020-02-15 23:20:15 129

原创 mybatis入门(2):增删改查(CRUD)、模糊查询

目录结构一、主配置文件:SqlMapConfig.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-con...

2020-02-15 17:26:20 101

原创 mybatis入门(1):创建主配置文件和映射配置文件

一、创建主配置文件:SqlMapConfig1、resource->SqlMapConfig.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://myba...

2020-02-14 23:09:48 393

原创 Spring Boot入门(18):缓存_JSR107 / Spring缓存抽象

一、JSR107简介(复杂用的较少,多使用Spring缓存抽象以JSR107为基础)Java Caching 定义了5个核心接口,分别是CachingProvider、CacheManager、Cache、Entry、Expiry1、CachingProvider:定义了创建、配置、获取、管理、和控制多个CacheManager,一个应用可以在运行期间访问多个CachingProvider。...

2020-02-14 20:58:44 128

原创 Java反射机制(3):反射机制操作属性、方法、构造器

一、反射机制的常见作用1、动态加载类、动态获取类的信息(属性,方法,构造器)。2、动态构造对象。3、动态调用类和对象的任意方法、构造器。4、动态调用和处理属性。5、获取泛型信息。6、处理注解。二、bean.User类javabean必须要有无参的构造器 public class User { private int id; private int age; priva...

2020-02-13 15:50:51 119

原创 Java反射机制(2):java动态性、动态语言、反射机制定义举例

一、java的动态性1、反射机制。2、动态编译。3、动态执行JavaScript代码。3、动态字节码编译。二、动态语言1、定义:程序运行时可以改变程序结构或者变量类型如Python、Ruby、JavaScript。//执行s语句的时候又会执行s里面的代码function test(){ var s="var a=3;var b=5;alert(a+b);"; eval(s);...

2020-02-13 11:01:00 225

原创 Java反射机制(1):反射机制读取注解

一、ORM(Objective Relation Mapping):对象关系映射1、类和表结构对应。2、属性和字段对应。3、对象和记录对应。二、类到表的流程1、写好表名对应的注解。2、写好表字段对应的注解。3、将具体的类使用注解。4、反射机制读取注解的内容。(例如类中注解设定的表名,字段名)5、读取出来的表名、字段名、类型、长度、是否为主键转换成SQL语句进行操作。(最后两个有专...

2020-02-12 23:12:02 198

原创 Java注解(1):自定义注解、元注解

一、自定义注解: @Target(value=ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation{ Stirng studentName() default ""; int age() default 0; //若default的值为-1表示不存...

2020-02-12 22:15:51 364

原创 Spring Boot入门(17):数据访问_整合SpringData JPA

一、整合SpringData JPA1、JPA基于ORM思想(Objective Relational Mapping):对象关系映射# 配置数据源spring: datasource: username: root password: 123456 url: jdbc:mysql//127.0.0.1/user driver-class-name: c...

2020-02-12 15:53:58 65

原创 Spring Boot入门(16):数据源(Druid)

一、默认数据源1、SpringBoot默认使用HikariDataSource数据源spring: datasource: data-username: root data-password: 123456 url: jdbc:mysql://localhost:3306/user driver-class-name: com.mysql.jdbc.Driv...

2020-02-11 17:27:55 126

原创 Java多线程(8):并发协作_生产者消费者模式(管程法、红绿灯法)

一、生产者消费者模式1、解决的是线程通信的问题。(解耦、效率高)2、管程法:生产者和消费者之间设置一个缓冲区,生产者和消费者之间的耦合度较低,维护简单。(解耦)3、红绿灯法二、解决线程通信问题的三个方法1、final void wait():表示线程一直等待,直到其他线程通知,与sleep()不同,会释放锁。2、final void wait(long timeout):指定等待的毫...

2020-02-11 11:29:11 266

原创 Java多线程(7):并发_线程同步_队列与锁(Synchronized)

一、并发举例1、两个人同时操作一张银行卡,如何保证线程安全。2、多个人同时购买一张火车票,谁能买到?

2020-02-10 22:09:45 371 1

原创 Spring Boot入门(15):注册servlet、嵌入式servlet容器启动过程、外置的servlet容器

一、注册三大组件SpringBoot是默认以jar包的方式启动嵌入式的servlet容器来启东SpringBoot的web应用,没有web.xml进行配置下面三个1、ServletRegistrationBean2、FilterRegistrationBean3、ServletListenerRegistrationBean @Configuration public class ...

2020-02-09 16:02:07 189

原创 Java多线程(6):优先级、守护线程

一、优先级:priority1、线程优先级1-10,只代表优先执行概率更大,不代表绝对的顺序Thread.MIN_PRIORITY = 1;Thread.MAX_PRIORITY = 10;Thread.NORM_PRIORITY = 5;2、获取线程等级int getPriority()3、设置线程等级void setPriority( int newPriority)4、优先级...

2020-02-08 16:41:43 97

原创 Java多线程(5):线程的生命周期(5种状态)

1、新生状态:new了一个对象之后进入新生状态。2、就绪状态:(1)start()方法进入就绪状态。(2)在运行过程中遇到了阻塞,阻塞事件解除之后进入就绪状态。(3)yield()让出CPU调度之后线程进入就绪状态。(4)JVM从本地线程切换到其他线程。3、运行状态:CPU执行线程。4、阻塞状态:(1)sleep()(2)join()(3)wait()(4)IO操作read...

2020-02-08 16:07:14 330

原创 Spring Boot入门(14):WEB开发

一、引入静态资源(外部定义的例如jquery.js)1、在webjars官网寻找相关资源,然后在pom.xml中进行依赖自动导入2、如选用jquery 3.4.1则在pom.xml中配置如下 <dependency> <groupId>org.webjars</groupId> <artifact...

2020-02-06 17:32:27 155

原创 Java多线程(4):lambda简化线程

一、静态内部类、局部内部类、匿名内部类(定义的线程只使用一次)1、静态内部类:嵌套在另一个类的里面,直接实例化内部的类,外面的类不编译 public class LambdaThread { static class Test implements Runnable{ public void run() { for(int i=0;i<20;i++) { ...

2020-02-05 23:21:09 233

原创 Java多线程(2):Runnable小例子

1、3个黄牛抢99张票,竞争同一资源public class Web12306 implements Runnable{ private int ticketNums = 1; public void run() { while(true) { if(ticketNums<0) { break; } //模拟网络延时 try { ...

2020-02-05 22:55:56 294

原创 Java多线程(1):创建多线程

一、多线程创建方法1、继承Tread类。2、实现Runnable接口。(多用这个接口)3、实现callable接口。二、推荐使用实现Runnable接口1、必须重写run()方法,run()方法是线程体。2、Thread类可以通过start()方法将多线程交给虚拟机进行执行。3、Runnable接口没有start()方法,需要借助新建Thread对象进行代理交给虚拟机执行。 pub...

2020-02-05 21:28:29 488

原创 mysql、Oracle、sql数据库驱动jar包百度云

链接:https://pan.baidu.com/s/1eY9Wwy88G8gjVYCpB9Huug提取码:6ne5

2020-02-04 15:39:17 1167

原创 Spring Boot入门(13):日志

一、日志1、日志框架(推荐)(1)日志门面(相当于Java抽象类):SLF4j(2)日志实现(相当于抽象类的具体实现):LogBack(3)SpringBoot选用 SLF4j和LogBack。2、使用日志(1)开发时候不是调用日志具体实现类,而是调用日志门面。(下面为官方文档),application 调用日志门面slf4j-api.jar,日志门面调用具体的实现类logback-c...

2020-02-04 15:16:09 141

原创 Spring Boot入门(12):各种注解的含义

1、@Configuration:修饰的类是配置类。2、@Bean: 向容器中添加注解下面的类组件。3、@ConditionalOnClass(abc.class):满足abc.class中的的条件则该类生效。4、@ConditionalOnMissingClass(abc.class):容器中没有该类则有效。5、@ConditionalOnMissingBean(...

2020-02-04 09:53:02 162

原创 Spring Boot入门(11):容器中自动配置类源码举例逐行分析

容器中自动配置的类都在project->External Libraries->Maven:…->META/INFO->spring.factories中1、在自动配置原理的最后一步是扫描META-INFO/spring.factories中的资源,将需要的组件注入spring容器中。2、所有的能在application.properties中能都配置的属性都在xxxP...

2020-02-03 23:07:48 189

原创 Spring Boot入门(10):外部配置文件加载顺序

SpringBoot也可以从下面位置加载配置,优先级从高到低,高优先级的配置覆盖低优先级的配置,所有的配置形成互补配置。1、命令行参数:通过命令行打包文件过程中改变配置 java -jar spring-boot-test-SNAPSHOT.jar --server.port=8090 --server.context.path=/abc2、来自java:comp/env的NDI属...

2020-02-03 21:37:19 98

原创 Spring Boot入门(9):配置资源占位符、Profiles多环境支持、修改配置文件加载位置

一、配置资源占位符1、随机数: ${random.value}、${random.int},${random.long}、${random.int(10)}、 ${random.int[1024,65536]}2、占位符获取之前配置的值,入伏哦没有可以用:指定默认值 person.name=张三${random.uuid} person.age=${random.int} pe...

2020-02-03 16:38:35 240

原创 Spring Boot入门(8):@PropertySource和@ImportResource的区别

1、@PropertySource导入制定配置文件​ (1)、application.properties是全局配置文件@ConfigurationProperties用来加载全局配置文件中的配置信息进行映射,如果所有东西都放咋全局配置文件中则太不合理。可以专门写一个person.properties专门的配置文件。​ (2)、在person.properties中配置JavaBean的pe...

2020-02-03 11:50:35 132

原创 Spring Boot入门(7):@Value与@ConfigurationProperties的区别

1、如果在业务逻辑中只是获取配置文件中某一个值用@Value2、如果写了一个JavaBean来和配置文件进行映射,我们就直接用         @ConfigurationProperties1、松散绑定(Relaxed Binding):@Con…支持下面的所有​ --person.firstName :标准方式​ --person,first-name :大...

2020-02-03 11:12:13 87

原创 Spring Boot入门(6):SpringBoot各种配置,YAML语法举例

一、配置文件1、SpringBoot使用一个全局的配置文件:可以对一些默认的配置进行修改 (SpringBoot在底层都给我们自动配置好)。 -application.properties -application.yml2、.yml是YAML(YAML ain’t markup language不是标记语言)语言的文件以数据为中心,比json、xml更适合做配置文件...

2020-02-02 17:02:26 412

原创 SpringBoot入门(5):Spring Initializer快速创建Spring Boot项目

特点1、主程序已经自动生成,自己只需要写业务逻辑。2、resources文件夹中的目录结构:(1)static:保存静态资源,例如js,css,images(2)templates:保存所有的模板页面;(Spring boot默认jar包使用嵌入 式的Tomcat,每一个打包好的jar包中会有Tomcat的jar包)默认不支持界面,可以使用模板引擎(freemarker,th...

2020-02-02 15:34:14 141

原创 SpringBoot入门(4):自动配置原理

1、主程序入口的注释@SpringBootApplication:标志主程序入口2、@SpringBootApplication中开启的功能点进@SpringBootApplication源码,@EnableAutoConfiguration开启自动配置功能,向Spring容器自动导入需要的组件3、@EnableAutoConfiguration开启的功能点进@EnableAutoC...

2020-02-02 11:11:39 119

原创 SpringBoot入门(3):helloworld组成部分

定义1、Spring Boot将所有的功能都抽取出来,做成一个个的starters(启动器),只需要在项目里引入这些的starter相关的场景依赖都会导入进来,要用什么功能就导入什么场景的。例如 spring-boot-starter-web:导入了web模块正常运行所依赖的组件。...

2020-02-01 23:22:35 121

原创 SprintBoot入门(2):helloworld

1、创建maven项目可能出现错误:com.google.inject.CreationException: Unable to create injectormaven 3.6.3版本太高,下载安装3.6.02、pom.xml配置,maven设置为自动导包<groupId>org.hu</groupId> <artifactId>springb...

2020-02-01 17:38:15 107

杭州端点公司java面试题.md

杭州端点公司java面试题

2021-01-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除