自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (9)
  • 收藏
  • 关注

原创 IDEA 自动删除类中无用的import包 和 自动导入包

IDEA 自动删除类中无用的import包 和 自动导入包手动导包,将光标移动到需要导入的类上,使用 ctrl + enter 进行选包导入。手动删包,即手动把多余的包删除,使用 Ctrl + Alt + O 进行删除。可以使用Idea的自动导包删包功能。第一步:crtl + alt + s 调出设置面板;第二步:进行个性化设置;如图:增加没有歧义的包。即当需要导入的包没有多个备选项时,Idea会自动帮你导入。优化导入的包。即当前project 中存在导入多余的包,Idea会自动帮你删

2020-08-31 11:20:13 3849

原创 HTTP协议

## 常见网络协议的端口 ##1.http :802.smtp:253.pop3:1104.ftp:235.https:443Tomcat【可以修复Tomcat的端口号】Tomcat的目录层次结构-bin:存放启动和关闭Tomcat的脚本文件。-conf:存放Tomcat服务器的各种配置文件。-lib:存放To...

2020-08-29 22:48:55 349

原创 使用动态代理技术实现ORM工具

使用动态代理技术实现ORM工具源代码仓库:https://gitee.com/ooyhao/public-code-repository代理模式分为静态代理和动态代理。而代理模式中,又分为两种,一种是基于实现接口的:jdk动态代理,一种是基于继承类的:cglib动态代理。正常都是继续指定的实现类,通过代理模式来增强,而像类似于mybatis 根据接口来创建实现类并实现指定功能的确实不常见。所以,这里主要是演示如何使用JDK动态代理技术来实现SQL操作功能。涉及到技术点:如何在基于代理模式创建指

2020-08-29 16:38:22 406

原创 并发编程之 Semaphore信号量

Semaphore信号量。允许多个线程同时访问。信号量为多线程写作提供了更加强大的控制方法。从广义上将,信号量是对锁的扩展。无论内部锁synchronized还是重入锁ReentrantLock,一次都只允许一个线程访问同一个资源,而信号量却可以指定多个线程,同时访问某一资源。信号量主要提供了一下构造方法:public Semaphore(int permits) { sync = new NonfairSync(permits);}public Semaphore(int permits,

2020-08-02 14:51:12 366

原创 并发编程之 CountDownLatch &CyclicBarrier & Exchanger

CountDownLatch一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数初始化CountDownLatch。由于调用了countDown()方法,所以在当计数器到达零之前,await方法会一直处于阻塞状态。之后,会释放所有等待的线程,await的所有后续调用都将立即返回。这种现象只出现一次—计数无法被重置。package org.example.juc.CountDownLatch;import java.util.concurrent.Coun

2020-08-02 14:50:13 248

原创 并发编程之线程池ThreadPoolExecutor& Executors

线程池线程池的结构上面是线程池的继承结构。首先Excutor 和 ExecutorService 都是接口,而 AbstractExecutorService 是抽象类,均无法实例化,所以我们使用的是 ThreadPoolExecutor 类。ThreadPoolExecutor先看非常重要的全参构造函数/** * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters. * * @para

2020-08-02 14:45:36 306

原创 并发编程之Lock

Lock我们先看一张Lock锁的继承结构图:Lock,顾名思义就是锁。这是一个接口,用于控制线程安全的一种方式。public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); boolean tryLock(long time, TimeUnit unit) throws InterruptedException;

2020-08-02 14:41:22 267

原创 并发编程之单例模式,volatile和 synchronized

部分参考:https://www.cnblogs.com/limingluzhu/p/5156659.html单例模式单例模式是众多设计模式中,可以说是最熟悉的了,但是由于单例模式的特殊性,我们需要在任何环境下,获取到的都是同一个实例,下面我们来看看。首先,单例类有一下几个特点。私有化的构造函数(防止外部自行创建实例)私有化的静态全局变量(保存全局唯一实例)公有的静态方法获取单例实例(返回单例实例)众所周知,单例模式分为饿汉式和懒汉式,所谓饿汉式其实就是在类加载的时候,就把单例实例创建.

2020-08-02 14:38:43 596

原创 并发编程之死锁

死锁死锁就是两个或以上线程互相争抢对方资源,导致没有任何一个线程能获得所需所有资源的一种僵持状态。死锁下的线程是 BLOCKED 状态。下面我们来使用Synchronized 关键字 造一个死锁。ServiceOne类:public class ServiceOne { private ServiceTwo serviceTwo; private final Object LOCK_ONE = new Object(); public void setServiceTwo(

2020-08-02 14:32:35 448

原创 并发编程之线程和线程组

线程Thread如何创建线程创建线程的两种方式:这里其实需要注意,说是说创建线程可以通过继承Thread和实现Runnable接口来创建,我们先看看一下。1.继承Thread类,并重写run方法class IThread extends Thread { @Override public void run() { super.run(); }}IThread thread = new IThread();thread.start();2.实现Run

2020-08-02 14:28:32 493

原创 并发编程之多线程基础知识

概念整理在学习多线程之前,我们需要知道什么是线程,当然也少不了需要知道什么是进程。这里仅仅是放两句比较简单的话,有个印象就行,毕竟线程和进程的概念网上一大堆,记大多其实也没啥用。但是呢,面试的时候又喜欢问一些概念性的东西,所以这里还是需要把比较重要的概念记录一下。进程和线程进程:运行中的程序,是资源分配的最小单位。进程相当于是一个容器,里面可以包含许多线程。线程:是CPU调度的最小单位,线程相当于轻量级的进程。知道了进程和线程的概念之后,我们在看一下什么是并发,什么是并行。并行和并发并

2020-08-02 10:23:10 172

使用Vue实现TodoMVC

使用vue进行开发,实现了广为人知的todomvc案例,结合了vue中的方法,计算属性,侦听器,系统指令与自定义指令,以及数据的双向绑定。利用这个案例可以很好的锻炼到我们vue的基础知识。

2018-11-24

使用Nodejs+BootStrap搭建一个简单的留言板

通过使用Nodejs搭建一个简单的留言板系统,进行留言。是一个初学者练习的好例子

2018-11-06

全套EasyUI示例源码

这里是一整套EasyUI的示例源码,三十几个组件全部包括在内。笔记可以留言向我要

2018-08-28

SSM+EasyUI DataGrid 实现增删改查,分页,排序

使用SSM框架+EasyUI DataGrid数据表格实现了基本的增删改查,以及对数据分页,排序功能的实现。是一个对于后台管理的很好的例子,因为一般企业后台管理都是使用EasyUI等框架快速搭建,而且DataGrid是EasyUI最重要的组件。

2018-08-06

教你如何搭建JavaWeb项目并配置Tomcat

通过视频的方式把之前学到的通过Idea简单搭建一个JavaWeb项目,并配置tomcat,首页运行分享给大家

2018-08-04

仿京东商城(部分功能)前端+后台

仿京东商城部分功能,从注册登录,首页展示,搜索框,到页面的详情,加入购物车,将购物车存储到redis中。后台使用Spring+SpringMVC+MyBatis+Redis实现。对初学者是一个非常好的联系项目,不大也不小,而且先后台都有涉及。

2018-07-22

MySql + JDBC +EasyUI DataGrid实现数据表格的展示和分页

使用JDBC实现数据库工具类,使用工具类连接数据库,使用EasyUI连接后台实现数据表格的展示和分页功能

2018-07-22

Java 版仿QQ

使用Java 多线程,IO流,网络编程,GUI,集合等知识实现一个Java JDK版仿QQ聊天室,实现了单独聊天和群聊。

2018-07-18

JavaScript基础笔记

JavaScript基础知识笔记,从变量,运算符,函数,对象,到Date,String,Array对象,基本数据包装类。

2018-07-18

空空如也

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

TA关注的人

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