- 博客(76)
- 资源 (4)
- 收藏
- 关注
原创 简历写了解熟悉SpringBoot?请说一说 SpringBoot 的启动流程
springBoot启动流程分析:springBoot启动流程主要分两步:new SpringApplication()应用 运行 SpringApplication()对象
2020-09-04 17:45:14
817
原创 面试官问SpringBoot的核心注解,你说@SpringBootApplication吗??
我们开发任何一个Spring Boot项目,都会用到如下的启动类@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}从上面代码,启动类上注解@SpringBootApplication,所以SpringBoot的核心注解回答@Spring
2020-09-02 18:24:34
719
原创 Java之网络编程UDP和TCP
推荐理由:通俗易懂,讲解全面传送带:https://www.cnblogs.com/xujingyang/p/6486046.html
2020-08-20 17:08:45
233
原创 学习springBoot定时任务小项目
传送带:https://github.com/jufeng98/java-master/tree/a5048c34f3e4b396b8d44ae5895072a3953cb886/b2c-parent/b2c-scheduled
2020-08-20 16:55:35
216
原创 实践理解 @Configuration 的使用 和作用
从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。注意:@Configuration注解的配置类有如下要求:@Configuration不可以是final类型; @Configuration不
2020-08-02 16:42:42
1269
原创 面试被问到 SQL查询行转列
sql脚本(Mysql数据库)DROP TABLE IF EXISTS `table_a`;CREATE TABLE `table_a` ( `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `subject` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `score` int(255) N
2020-07-26 15:28:57
234
原创 Java获取当前时间的四种方式
面试时被问到如何获取系统当前时间,平时没有怎么注意这个问题,这里整理一下import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 获取当前时间的4种方式 */public class TimeTest { public static void main(String[] args) { //第一种 Date date=new Da
2020-05-27 14:32:32
1435
原创 ThreadPoolExecutor execute() 工作原理
自定义线程池:public class ThreadPoolTest { public static void main(String[] args) { //创建等待队列 BlockingQueue<Runnable> bqueue= new ArrayBlockingQueue<Runnable>(20); //创建线程池,池中保存的线程数为3,允许的最大线程数为5 ThreadPoolExecuto
2020-05-26 19:51:12
2086
原创 java并发编程(初识):Executor、ExecutorService、Executors
Executor:public interface Executor { void execute(Runnable command);}一、Executor:一个接口,其定义了一个接收Runnable对象的方法execute(Runnable command),该方法接收一个Runable实例,它用来执行一个任务,任务即一个实现了Runnable接口的类,一般来说,Runnable任务开辟在新线程中的使用方法为:new Thread(new RunnableTask())).star
2020-05-26 16:04:32
343
原创 七种单例
package com.example.demo.test01;/** * 静态内部类实现单例 */public class Singleton01 { /** * 静态内部类 */ private static class Singleton01Holder{ private static final Singleton01 INSTANCE=new Singleton01(); } private Singleton01(.
2020-05-12 10:30:08
351
1
原创 华为OD东莞技术一面(java)
时间:2020/4/16 20:00-21:10背景:2019毕业,工作经验一年多自我介绍java 基本数据类型以及对应的包装类?Integer、Float、Double继承了同一个父类是什么?连接一个数据库过程;涉及到api?读文件写文件涉及到哪些类?web.xml要配哪些东西?Quartz定时任务?配置的哪些标签?给你一个jar,一个类的全限定名,这个类里面有个main...
2020-04-27 09:04:10
2626
1
原创 Oracle 索引
索引概述:在关系型数据库中,用户查找数据与行的物理位置无关紧要。为了能够找到数据,表中的每一行均用一个 ROWID 来标识,ROWID
2020-04-21 17:09:42
333
原创 判断文本框输入中文超过10个英文数字超过20个
var len=0;for(var i=0; i<content.length; i++) { //正则表达式判断中文 if (/[\u4e00-\u9fa5]/.test(content[i])) { len+=2; } else { len++; }}if (len > 20) { console.log('输入内容大于10个字'); return;}...
2020-04-02 10:05:02
842
转载 HashMap线程不安全的体现
前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。1.jdk1.7中的HashMap在jdk1.8中对HashMap做了很多优化,这里先分析在jdk1.7中的问题,相信大家都知道在jdk1.7多线程环境下HashMap容易出现死循环,这里我们先用代码来模拟出现死循环的情况:public class H...
2020-03-24 10:33:21
191
转载 JDK1.7中HashMap底层实现原理
一、数据结构HashMap中的数据结构是数组+单链表的组合,以键值对(key-value)的形式存储元素的,通过put()和get()方法储存和获取对象。(方块表示Entry对象,横排表示数组table[],纵排表示哈希桶bucket【实际上是一个由Entry组成的链表,新加入的Entry放在链头,最先加入的放在链尾】,)二、实现原理成员变量源码分析:/** 初始容量...
2020-03-24 10:22:25
299
原创 两个页面之间 地址栏 Url 传参中文乱码解决方案
传值页面跳转URL:window.location.href = "b.html?title="+encodeURI(encodeURI(参数));b.html取值:vartitle = decodeURI(this.getUrlParam("title"));获取 URL 参数 getUrlParam 函数 :/*** * 获取URL请求参数 * name: key...
2020-01-13 10:55:14
502
原创 MyBatis 查询返回map中key默认大写改小写解决方案
Mybatis 查询语句返回 map,key 值默为大写,将其全部改成小写解决方案:import org.apache.ibatis.reflection.MetaObject;import org.apache.ibatis.reflection.wrapper.MapWrapper;import java.util.Map;public class CustomWrapper ...
2020-01-10 17:55:28
4992
3
原创 oracle PACKAGE中的函数如何查看函数体(两种方法)
Oracle 数据库中的 Package 中的函数体如何查看:在包名上右键->查看:只能展示函数名第一种方法:需要查看到函数体,我们可以包名上右键->查看说明与主体:点击函数体 tab 页,展示的就是函数具体实现第二种方法:点击 Package bodies 文件夹,选中对应的包名,右键->查看:即可查看到包中函数具体的实现...
2019-12-04 16:59:33
5293
原创 多线程实现四种方式以及源码分析
实现 Java 多线程的方式有四种:继承Thread类,重写run方法 实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的参数 通过Callable和FutureTask创建线程 通过线程池创建线程第一种:继承 Thread 类,重写 run 方法package com.example.thread;public c...
2019-11-28 11:42:13
471
原创 Redis 进阶(事务、生存时间、排序)
本篇文章结构为依次介绍Redis的事务、生存时间、排序。Redis的事务:Reids 中的事务是一组命令的集合。事务同命令一样是 Redis 的最小执行单位,一个事务中的命令要么都执行,要么都不执行。127.0.0.1:6379> multiOK127.0.0.1:6379> sadd "user:1:following" 2QUEUED127.0.0.1:637...
2019-11-21 15:48:35
269
原创 Redis 基本数据类型常用操作集锦
Redis 最常用的两个程序 redis-server 和 redis-cli ,其中 redis-server 是 Redis 的服务器,启动 Redis 即运行 redis-server ; 而redis-cli自带的 Redis 命令行客户端,是学习 Redis 的重要工具。Redis 是一个键值对数据库 ,数据类型有五种:字符串、散列表、列表、集合、有序集合。字符串:一个字符串...
2019-11-14 17:23:24
242
原创 计算两个经纬度之间的距离(java和数据库实现)
java实现:package com.example.util;public class LocationUtils { /** * 赤道半径 */ private static double EARTH_RADIUS =6378.137; private static double rad(double d) { return d...
2019-11-07 14:53:48
1062
转载 CSRF攻击以及解决方法(很系统)
CSRF 背景与介绍 CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一。其他安全隐患,比如 SQL 脚本注入,跨站域脚本攻击等在近年来已经逐渐为众人熟知,很多网站也都针对他们进行了防御。 然而,对于大多数人来说,CSRF 却依然是一个陌生的概念。即便是大名鼎鼎的 Gmail, ...
2019-09-04 16:13:13
4174
原创 剑指offer(java)——在递增旋转数组中查找最小值
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。题目关键词:递增排序、旋转。分析:上图是符合题目要求的三种数组,第一种是很正规的一种情况:数组因为旋转的原因,分成两个递增数组,而最小值位于后面数组的第一个值。针对此题,首先要...
2019-09-04 15:06:22
296
原创 (java)三种方法求斐波那契数列的第n项
题目:写一个函数,输入n,求斐波那契数列的第n项。斐波那契数列的定义如下:解答本题的方法有三:按照定义编程,使用的方法是递归。 方法一递归分解的子问题存在大量的重复计算,于是我们将递归改为自上而下的循环实现。(本题的核心) 采用数学公式实现。分析:使用递归会有许多的重复计算:方法三涉及到的数学公式:代码实现如下:package com.example...
2019-08-29 17:34:11
6280
1
原创 java:用两个队列实现栈
题目:利用两个队列模拟栈,分析图如下:abcd一次进入队列模拟进入栈; 进行出栈操作,表示d要出栈,根据队列的先进先出原则,只有abc依次出队列d才有机会出队列,所以abc从queue01出队列到queue02,d出队列实现出栈操作; 元素ef需要进栈,直接进入到queue01队列即可; 进行出栈操作,表示f需要出栈,此时将e出队列进去到queue02,f出队列达到出栈效果。注:...
2019-08-07 14:53:49
411
原创 java:视频帧截图
程序所需要的java包:https://download.youkuaiyun.com/download/tobe_coder/11484718代码实现:package com.example;import org.bytedeco.javacv.FFmpegFrameGrabber;import org.bytedeco.javacv.Frame;import org.bytedec...
2019-08-07 09:29:07
1162
原创 (java)用两个栈实现队列
题目:用两个栈实现一个队列,实现队列的两个函数appendTail和deleteHead,分别完成从队列的尾部增加节点,从头部删除节点。双栈模拟队列appendTail和deleteHead:(1)abcd依次进入队列,我们将其存放在stack01中。 (2)我们需要将进行出队列操作,先进先出,则将stack01栈中的元素弹出到stack02栈中,之后a在stack02的栈顶出栈即...
2019-08-01 17:09:07
361
原创 (java)从尾到头打印链表——三种方法解
题目:输入一个链表的头节点,从尾到头反过来打印每个节点的值。三种实现方式:改变原有链表,将链表指针反转,再进行遍历反转链表打印。 遍历链表,遍历过程中将元素放入到栈中,再依次出栈打印。 使用递归,反过来输出链表。反转链表:package com.example.offer;import java.util.Stack;/** * 反向打印链表 */publi...
2019-07-23 17:54:48
787
原创 (java)二维数组中的查找
分析:此题目我们可以从右上角或者左下角进行比较。我们以右上角为例,每次拿右上角的元素与目标元素进行比较,分为三种情况,(1)右上角元素大于目标值,则目标元素在当前二维数组的下方;(2)右上角元素小于目标值,则目标元素在当前二维数组的左方;(3)等于则说明找到目标元素;代码实现如下:package com.example.offer;public class FindNumTes...
2019-07-22 17:44:46
477
原创 Oracle 如何在where子句中加入case when
select a.*,a.rowid from sys_order a where 1=1 and (case when a.order_type in ('01', '02') then a.phone_num else a.staff_phone ...
2019-07-18 16:12:51
8886
原创 (java)剑锋Offer(找出数组中任意一个重复的数字不改变原有数组)题目二
分析:题目一与题目二的区别:题目一没有规定不修改数组,题目一数组中值得范围在0-n-1;考虑题目一中的三种方法,只有方法二没有改变原有数组,所以方法二放到题目二同样的适用;但是我们可以把HashMap替换成数组实现。可以想想为什么题目一不适合使用题目中的方法一,题目二中的方法一与题目一中的方法二思路是一样的。以下为题目二的解法:方法一:遍历数组,我们将数组(oldArray)中的值放...
2019-07-18 14:20:11
336
1
原创 (java)剑锋Offer(找出数组中任意一个重复的数字)题目一
以下为代码实现:package com.example.offer;import java.util.HashMap;/** * 在一个长度为n的数组里的所有数字都在0-n-1的范围内。数组中某些数字是重复的, * 但是不知道有几个数字重复了,也不知道每个数字重复了多少次。 * 找出数组中任意重复的数字 */public class DuplicateTest { ...
2019-07-17 14:30:19
306
转载 线程安全(上)--彻底搞懂volatile关键字
转载:https://www.cnblogs.com/kubidemanong/p/9505944.html对于volatile这个关键字,相信很多朋友都听说过,甚至使用过,这个关键字虽然字面上理解起来比较简单,但是要用好起来却不是一件容易的事。这篇文章将从多个方面来讲解volatile,让你对它更加理解。计算机中为什么会出现线程不安全的问题volatile既然是与线程安全有关的问题...
2019-07-04 09:21:15
365
原创 String & StringBuilder & StringBuffer
三者的区别:String:不可变字符串,适用于少量字符串操作的情况。StringBuilder:可变字符串,适用于单线程下在字符缓冲区进行大量操作的情况。StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况。为什么??String 是不可变的字符串,每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 Str...
2019-07-02 14:40:35
204
原创 (二)Oracle逻辑存储结构
引入:逻辑存储结构是Oracle数据库存储结构的核心内容。逻辑存储结构是从逻辑的角度分析数据的构成,是对数据存储结构在逻辑概念上的划分。逻辑结构是面向用户的,当用户使用Oracle设计数据库时,其使用的就是逻辑存储结构。Oracle的逻辑存储结构中所包含的多个结构对象从数据块到表空间形成了不同层次的粒度关系。Oracle的逻辑存储结构如下图:Oracle数据库由多个表空间组成,表空间由...
2019-07-01 17:58:06
1196
原创 (一)Oracle 数据库体系结构概述
数据库服务器是指管理数据库的各种软件工具(比如sqlplus\OEM等)、实例以及数据库三大部分。实例是指一组Oracle后台进程以及在服务器中分配的共享内存区域;数据库是由基于磁盘的数据文件、控制文件、日志文件、参数文件和归档文件等组成的物理文件集合;从实例与数据库之间的辩证关系来讲,实例用于管理和控制数据库;而数据库为实例提供数据。一个数据库可以被多个实例装载和打开;而一个实例在其...
2019-06-27 19:49:31
304
邮件上传相关Jar包
2018-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人