自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java8-stream用法

一、概述Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。特点:1 . 不是数据结构,不会保存数据。2. 不会修改原来的数据源,它会将操作后的数据保存到另外一个对象中。(...

2021-05-17 22:06:29 388 3

原创 jQuery 常用语法总结(未完成不定期更新)

1.基础语法:$(selector).action()美元符号定义 jQuery 选择符(selector)"查询"和"查找" HTML 元素 jQuery 的 action() 执行对元素的操作 实例: $(this).hide() - 隐藏当前元素 $("p").hide() - 隐藏所有 <p> 元素 $("p.test").hide() - 隐藏所有 class="test" 的 <p> 元素 $("#test").hide().

2021-03-05 21:16:17 302

原创 BootStrapTable总结(未完结)

数据结构形式{xxid:"123456",a:"123456",b:"123456",c:"123456",listLjd:[{eid:"456",f:"123456",s:"123456",},{oid:"456",p:"123456",q:"123456",}]}1.获取form表单的数据let data = getFormData("formID");2.获取table表格当前加载的数据或者当前页数据data.listLjd = $("#tableID").bootstrapTable

2021-03-04 21:02:08 192 1

转载 JAVA常用的几种线程池

1.为什么使用线程池诸如Web服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如HTTP、FTP或POP)、通过JMS队列或者可能通过轮询数据库。不管请求如何到达,服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的。构建服务器应用程序的一个简单模型是:每当一个请求到达就创建一个新线程,然后在新线程中为请求服务。实际上对于原型开发这种方法工...

2021-01-12 22:47:17 759

原创 垃圾回收、jvm调优

1.jvm的垃圾定位算法有:引用计算法、可达性分析计算法2.垃圾回收算法:标记清除法Mark-Sweep:位置不连续,产生碎片复制算法Copying:没有碎片,浪费空间标记整理:没有碎片,效率偏低3.堆的内存分配:老生代、年轻代(Eden伊甸园区,Survivor幸存区(S0、S1))垃圾清理时,会发生STW(Stop The World)用户操作会暂停,一般时间很短,当如果老生代发生垃圾回收时(Full GC),时间会很长,用户体验会很差,所以尽量避免。4.Jvm调优jdk自带

2021-01-09 23:09:48 103

原创 筛选字符串中的数字

一、通过String的sacii码方式public static String findNum(){ String str1="abd12er98df4"; String str2=""; str1=str1.trim(); if(""!=str1 && null!=str1){ for(int i=0;i<str1.length();i++){ if(st.

2021-01-07 00:10:33 1889

原创 mysql函数function的用法

一、function的用法1.function的创建语法create function 函数名([参数列表]) returns 数据类型begin sql语句; return 值;end;2.用法案例,传入id,查出nameDELIMITER $$CREATE FUNCTION getname1(id VARCHAR(20))RETURNS VARCHAR(200)BEGINDECLARE youname VARCHAR(100);SELECT sname FROM s.

2021-01-03 18:08:23 7326

原创 mysql存储过程procedure

一、存储过程的用法1.创建语法CREATE PROCEDURE Pro_name()BEGIN...END2.

2021-01-03 01:01:52 1245

转载 索引背后的数据结构

参考:https://www.cnblogs.com/songwenjie/p/9414960.html

2021-01-01 21:08:06 68

原创 mysql索引实战练习

1.索引概念索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。2.作用快速取数据; 保证数据记录的唯一性; 实现表与表之间的参照完整性; 在使用ORDER by、group by子句进行数据检索时,利用索引可以减少排序和分组的时间。3.优点大大加快数据的检索速度; 创建唯一性索引,保证数据库表中每一行数据的唯一性; 加速表和表之间的连接; 在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。4.缺点索引需要占物理空间。 当对表中的数据进行增加

2020-12-31 17:40:26 628 1

原创 sql面试高频考题group by、join

注意group by 和连接的组合使用哪位宝宝有更好的方式可以留言student 学生表 sid,sname,age,sex(学生id,学生姓名,学生年龄,学生性别)score 成绩表 id,name,sid,score(课程id,课程名称,学生id,学生成绩)student表score表1. 查询每门都不及格的学生的姓名和学号SELECT sid,sname FROM student WHERE sid IN(SELECT sid FROM score GROUP BY.

2020-12-29 23:26:22 264 1

转载 MySQL Explain详解

在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。-- 实际SQL,查找用户名为Jefabc的员工select * from emp

2020-12-27 21:21:56 95

原创 sleep和wait区别

sleep()方法我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。wait()方法而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。

2020-12-22 21:39:43 3027

原创 yield线程礼让

yield()线程礼让,让当前正在执行的线程暂停,但不堵塞,状态由运行转换为就绪状态,礼让后cup重新调度,但是不一定礼让成功,随机的public class TestYield implements Runnable{ @Override public void run() { System.out.println(Thread.currentThread().getName()+"线程开始"); Thread.yield();

2020-12-22 20:40:08 154

原创 sql优化

在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:.

2020-12-22 20:13:15 97

转载 HashMap底层原理

数组:其实所谓的数组指的就是一组相关类型的变量集合,并且这些变量彼此之间没有任何的关联。存储区间连续,占用内存严重,数组有下标,查询数据快,但是增删比较慢;链表:一种常见的基础数据结构,是一种线性表,但是不会按照线性的顺序存储数据,而是每一个节点里存到下一个节点的指针。存储区间离散,占用内存比较宽松,使用链表查询比较慢,但是增删比较快;哈希表:Hash table 既满足了数据的快速查询(根据关键码值key value 而直接进行访问的数据结构),也不会占用太多的内存空间,十分方便。哈希表是数组加链

2020-12-22 19:47:57 104

原创 break、continue、return区别

break 结束本次循环,不再执行后面的代码continue 结束本次循环,回到循环起始处,进入下一次循环return 是一个调转语句,从一个方法返回

2020-12-22 18:29:10 75

原创 JDBC编程步骤

JDBC编程步骤(1)加载驱动程序:Class.forName(driverClass)加载mysql驱动:Class.forName("com.mysql.jdbc.Driver");加载oracle驱动:Class.forName("oracle.jdbc.driver.OracleDriver");(2)获得数据库连接DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc",user,password);Dr

2020-12-22 18:22:58 102

转载 Spring面试题

1、Spring是什么?Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。主要包括以下七个模块:Spring Context:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等); Spring Core:核心类库,所有功能都依赖于该类库,提供IOC和DI服务; Spring AOP:AOP服务; Spring Web:提供了基本的面向Web的综合特性,提供对常见框架

2020-12-22 17:25:44 292

转载 Bean的作用域、生命周期

Bean的作用域  Spring 3中为Bean定义了5中作用域,分别为singleton(单例)、prototype(原型)、request、session和global session,5种作用域说明如下:singleton:单例模式,Spring IoC容器中只会存在一个共享的Bean实例,无论有多少个Bean引用它,始终指向同一对象。Singleton作用域是Spring中的缺省作用域,也可以显示的将Bean定义为singleton模式,配置为: <bean id="userDao".

2020-12-22 16:23:53 78

转载 数据库中事务的四大特性(ACID)

数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency)  一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务

2020-12-22 15:28:54 835

转载 Docker常用的命令

关键字:镜像 images 镜像名 image_name 镜像id image_id 容器 container 容器名 con_name 容器id con_id从公网拉取一个镜像docker pull images_name查看已有的docker镜像[root@docker ~]# docker images查看帮助docker command --help查看镜像列表docker search nginx启动一个容器#基于hello-w

2020-12-13 22:45:29 98

原创 Docker基础原理

Docker是什么?docker是一个开源的软件部署解决方案; docker也是轻量级的应用容器框架; docker可以打包、发布、运行任何的应用。Docker 架构及工作原理Docker 在运行时分为 Docker 引擎(服务端守护进程) 和 客户端工具,我们日常使用各种 docker 命令,其实就是在使用 客户端工具 与 Docker 引擎 进行交互。Client 客户端Docker 是一个客户端-服务器(C/S)架构程序。Docker 客户端只需要向 Docker 服务器或者

2020-12-13 22:36:58 116

原创 Redis的原理、优点、以及与memcached区别

Redis用法、原理Redis用法、原理如上图,(也是面试官喜欢问到的点)当Application(应用程序发起请求),写入数据库同时也写入到Redis主Master,然后主从模式的应用,replication(复制)到从Slave,当我们再需要读取数据时,此时我们的缓存里面已经有我们的信息了,直接在redis(Slave)读取信息,不用去数据库查询,提高了查询速度、效率,用户体验也会提高。查询时先到缓存里面查,有的话直接返回,没有的话进入到数据库查询,并返回,与此同时给缓存里面存入我们查到的值

2020-12-12 22:34:08 219

原创 Redis缓存数据库在Java中的基本用法

redis是一种非关系型数据库,内存数据库Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。下面我们再代码中简单写一下它们的基本用法1.string类型的用法public static void testString(){ //获得资源 Jedis jedis = new Jedis("localhost",6379); System.out.

2020-12-12 01:22:56 334 1

原创 SVN最常用的几个命令

1、Checkout 首先要Checkout服务器端的Repository,所谓的Checkout就是指获得服务器端指定的Repository存储的所有文件。Checkout的具体方式是:在客户端新建一个空目录,比如:F:\Project1 (确保是空的)在该目录上单击右键,在弹出式菜单中选中SVN Checkout...,之后按要求录入内容:然后点OK,会弹出一个认证对话框,键入自己的用户名和密码点OK后就完成了对Repository的Checkout。检...

2020-12-07 22:10:02 241

原创 什么是AJAX以及AJAX总结

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。url 发送请求的地址type 为post 或者getasync 默认是true:异步,false:同步。post 请求get请求的区别1. GET可以通过在请求URL上添加请求参数,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。2. get方式请求数据会被浏览器缓存起来,因

2020-12-06 23:10:16 101

原创 Git常用的命令、Git流程总结

Git常用命令 git init 将一个目录变成新的Git仓库,并进行版本控制 git clone 创建一个新目录,进入该目录并执行git init来初始化一个空的新仓库 git add 将工作目录的内容添加到暂存区,以备下次提交,也有解决合并冲突的作用 git status 显示工作区和暂存区中文件的不同状态 git diff 查看任意2棵树之间的差异 git diff 工作区与暂存区差异 git diff --staged ...

2020-12-06 00:54:40 90

原创 Linux查看日志、启动服务、常用命令

启动服务ps -ef |grep java 查看包含“java”的所有进程 (ps -ef|grep svn)kill -9 进程号 杀掉自己需要重新启动的进程cd Oracle/Middleware/user_projects/domains/base_domain/bin 切到该目录下nohup ./startWebLogic.sh 启动服务查看日志cd logs 切到日志文件下ll或者ls查看当前目录下日志文件tail -500f 文件名 查看该文...

2020-12-04 23:01:11 2899

原创 常用的基础sql语句总结

数据为下图:插入数据 INSERT INSERT INTO auth_info (auth_id,parent_id,auth_name)VALUES(10,0,'测试模块') 更新数据 UPDATE UPDATE auth_info SET auth_name='测试' WHERE auth_id=10 查询数据 SELECT SELECT * FROM auth_info 删除数据 DELETE DELETE FROM ...

2020-11-29 22:37:47 278

原创 Java常用多线程之间的通信方式

一、使用Object类的wait()、 notify() 、notifyAll()wait() 告知被调用的线程放弃管程进入睡眠,直到其他线程进入相同管程并且调用notify()notify() 恢复相同对象中第一个调用wait()的线程notifyAll()恢复相同对象中所有调用wait()的线程,具有最高优先级的线程最先运行wait和 notify必须配合synchronized使用,wait方法释放锁,notify方法不释放锁public class TestPC { ...

2020-11-28 18:33:46 174

原创 Java多线程Lock锁以及和synchronized区别

Java多线程Lock锁import java.util.concurrent.locks.ReentrantLock;public class TestTicket implements Runnable{ //lock锁与synchronized区别 private static int ticketNum=10; boolean flag=true; //定义一个lock锁 private final ReentrantLock loc..

2020-11-27 00:17:41 525

原创 Java同步线程synchronized用法

Java同步线程线程同步,多个线程访问同一个资源,并且有的线程还要修改对象,这时候我们就需要用到线程同步,他其实是一种等待机制,多个需要同时访问该对象的线程进入该对象的等待池,形成队列锁机制 synchronized 当一个线程获得对象的排它锁,独占资源,其他线程必须等待,使用后,释放锁即可。同步方法2种用法:synchronized方法 若一个大的方法申明为synchronized将影响效率和synchronized块带来的问题 1.一个线程持有锁,会导致其他所有需要此锁的线程挂起

2020-11-27 00:10:58 168 2

原创 Java多线程优先级案例

Java线程优先级作用:尽可能的让线程执行按照优先级的顺序来执行,但是优先级高的线程,不一定就先执行,但是大多情况下,优先级高的线程先执行的概率较大。setPriority(int newPriority) 优先级赋值getPriority() 优先级取值public class TestPriority implements Runnable{ @Override public void run() { System.out.println(Thread.

2020-11-26 21:04:03 175 1

原创 Java多线程状态的几种状态

Java多线程状态共有6种状态 New 线程被创建出来时的状态 RUNNABLE 线程被调用了start(),正在运行状态,即表示Running状态和Ready状态。 BLOCKED 等待监视锁,这个时候线程被操作系统挂起。当进入synchronized块/方法或者在调用wait()被唤醒/超时之后重新进入synchronized块/方法,锁被其它线程占有,这个时候被操作系统挂起,状态为阻塞状态。 WAITING 无条件等待,当线程调用wait()/join()/LockSupport.

2020-11-26 18:07:51 149

原创 经典多线程实例-龟兔赛跑

经典多线程实例-龟兔赛跑龟兔赛跑相当于2个线程,兔子比赛过程中偷懒睡觉,乌龟赢得比赛public class GuiTuSaiPao implements Runnable{ //经典多线程实例:龟兔赛跑,兔子比赛过程中睡觉,乌龟赢得比赛 private static String winner; @Override public void run() { for (int i = 0; i <=100 ; i++) {

2020-11-25 20:21:13 547

原创 Java多线程实现的几种方式

Java多线程实现的几种方式1.继承thread类2.实现Runnable接口3.通过Callable和FutureTask创建线程4.使用线程池方式—Callable接口5.使用线程池方式--Runnable接口1.继承thread类继承thread类,重写run()方法,start()启动线程public class TestThread extends Thread{ //创建线程的方式1:继承thread类,重写run方法,start()启动..

2020-11-24 23:44:09 680

原创 常用的Map集合遍历方式

常用的Map集合遍历方式1.keySet()获取key集合并遍历,然后根据key,获取value2.迭代器迭代keySet()获取key集合并遍历,然后根据key,获取value3.将每一个map键值对,转换为entry对象,再根据对象getKey()获取键getValue()获取值。数据容量大时,推荐使用该方案4.将每一个map键值对,转换为entry对象,使用for循环迭代 循环遍历entry对象5.将每一个map键值对,转换为entry对象,使用while 循环遍历entry对象,

2020-11-21 23:37:51 216 2

原创 Java常用的遍历list集合的方式

Java常用的遍历list集合的方式1.常规for循环2.for-迭代器3.while-迭代器4.foreach遍历public static void testArrayList(){ //常用遍历list集合的方式 List<String> list=new ArrayList<String>(); list.add("D"); list.add("B"); list.add("

2020-11-21 23:22:44 267

原创 Java常见的集合List、Set、Map

Java常见的集合List、Set、MapListSetMap

2020-11-21 17:21:11 70

Docker入门基础笔记

本笔记记录入门的Docker学习笔记,通俗易懂,适合没有学过docker的小伙伴作一个参看,码字不易,且看且珍惜 Docker的由来背景 Docker的基本操作 Docker应用 Docker自定义镜像 Docker-Compose Dockerfile文件

2020-12-14

空空如也

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

TA关注的人

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