自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (4)
  • 收藏
  • 关注

原创 Java编写接口,实现根据地址下载文件到指定文件夹

TestFile.javapackage com.botbrain.content.jd.finder.test;import java.io.*;import java.net.HttpURLConnection;import java.net.URL;public class TestFile { /** * @param args */ public static void main(String[] args) {// St

2020-08-27 15:56:16 2304

原创 Java线程池总结

Java线程池总结一、 线程池简介一、 线程池简介

2020-05-24 22:29:44 369

转载 线程池中为什么要使用阻塞队列?

转载自:https://blog.csdn.net/qq_35181209/article/details/77921029在线程池中活跃线程数达到corePoolSize时,线程池将会将后续的task提交到BlockingQueue中,为什么这样设计呢?原因为:线程池创建线程需要获取mainlock这个全局锁,影响并发效率,阻塞队列可以很好的缓冲。如果新任务的到达速率超过了线程池的处理速率,那么新到来的请求将累加起来,这样的话将耗尽资源。在一个task提交到线程池时,假设可以被线程池

2020-05-24 22:11:26 8474

原创 Java线程池总结--java几种线程池

目录四种线程池介绍:各个线程池代码实例重点1、底层结构实现原理:是基于阻塞队列实现2、自己构建一个线程池参数有哪些3、底层实现原理:4、四种拒绝策略:5、线程存活问题ThreadPoolExecutor构造方法四种线程池介绍:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadP

2020-05-24 22:01:07 210

原创 Java线程池总结--线程池的代码实现

以创建 newFixedThreadPool 定长线程池为例:首先,java.util.concurrent.Executors:线程池的工厂类,用来生成线程池其次,Executors类中的静态方法: static ExecutorService newFixedThreadPool(int nThreads) 创建一个可重用固定线程数的线程池参数:int nThreads:创建线程池中包含的线程数量返回值:ExecutorService接口,返回的是ExecutorService接口的实现类

2020-05-24 21:24:21 1269

原创 Java线程池总结--submit()和execute()的区别

submit()和execute()的区别 有以下三个方面1、execute() 参数 Runnable ;submit() 参数 (Runnable) 或 (Runnable 和 结果 T) 或 (Callable)2、execute() 没有返回值;而 submit() 有返回值3、submit() 的返回值 Future 调用get方法时,可以捕获处理异常详细说明submit:execute:可以看出:(1)可以接受的任务类型execute只能接受Runnable类型的任务su

2020-05-24 20:07:21 1186

原创 创建线程池时如何确定线程数目

创建线程池时如何确定线程数目对于线程池的介绍已经在link文章中介绍完毕,那么对于创建线程池时如何确定线程数目,是一个值得思考和关注的问题。首先根据查阅资料得知:线程池中线程的数目是跟线程池所要处理的任务性质有关,也就是说线程的数目确定是受影响于 任务是属于 CPU密集型任务 还是 IO密集型任务 。CPU密集型(CPU-bound)CPU密集型也叫计算密集型,指的是系统花费相对大部分时间在做CPU运算、逻辑判断等,CPU使用率很高,典型的如加密运算。一般来说:大量纯计算就是 CPU 密集型。IO

2020-05-22 15:01:39 1068

原创 对称加密和非对称加密

一、概念对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。非对称加密:对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。二、特点对称加密算法的特点是算法公开、计算量小...

2019-09-27 02:20:51 2994

原创 http 和 https

目录一、HTTP和HTTPS的基本概念二、HTTP与HTTPS有什么区别?三、HTTP和HTTPS的主要特点和工作流程3.1 HTTP特点3.2 HTTP工作流程3.3 HTTPS特点3.4 HTTPS工作流程一、HTTP和HTTPS的基本概念HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,...

2019-09-27 01:56:00 1076 1

原创 长连接和短连接

短连接客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(如JavaScript文件、图像文件、CSS文件等),每遇到这样一个Web资源,浏览器就会重新建立一个HTTP会话。长连接在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次...

2019-09-27 01:39:36 128

原创 TCP和UDP讲解

目录一、TCP和UDP简介二、 UDP1. 包头2. 特点3. 应用场景三、TCP1. 报头2. TCP三次握手3. 四次挥手四、总计及面试问题2. 什么是面向连接,什么是面向无连接3. TCP 为什么是可靠连接**一、TCP和UDP简介TCP 和 UDP 是传输层的两个协议传输控制协议(TCP):TCP(传输控制协议)定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以...

2019-09-27 01:23:50 285

原创 Nginx反向代理和负载均衡的搭建

目录Nginx简介Nginx安装配置 nginx 反向代理配置 Nginx 负载均衡Nginx简介Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强。官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。Nginx安装1、到 nginx 官网下载相应的安装包,http://...

2019-09-25 20:02:53 166

转载 SpringMVC实现原理及详解

1、Spring mvc介绍SpringMVC框架是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是DispatcherServlet,它是一个Servlet,顶层是实现的Servlet接口。2、SpringMVC使用需要在web.xml中配置DispatcherServlet。并且需要配置spring监听器ContextLoader...

2019-09-23 13:58:58 269

原创 php 常用Linux命令

1.apache查看域名配置的文件:cat /etc/httpd/conf/httpd.conf2.下载文件:sz 【文件名称】3.编辑文件:vi 【文件名称】4.进入文件后,搜索某个关键字:/ 【要搜索的关键字】5.修改文件/文件夹权限    a...

2019-09-22 17:31:14 306

原创 Linux之--查看CPU和内存使用情况

Linux查看CPU和内存使用情况一、top命令ps指令pamp命令free命令一、top命令top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 – 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲...

2019-09-22 17:01:35 595

原创 ajax 向后台提交 json 数据

ajax 向后台提交 json 数据的格式$.ajax({ type:"get", dataType:"JSON", data:{"q":[{name:"张三",sex:"男",PWD:"SD"},{name:"SD",sex:"男",PWD:"SD"}, {name:"WEW",sex:"男",PWD:"SD"}] }, //要向后台传的数据 ,可以写 json 格式的数据 u...

2019-09-22 14:52:33 269

原创 thymeleaf 学习(一)判断语句

thymeleaf 判断语句两个值的判断th:if = "${变量值==1?值1:值2}";<td th:text="${stuinfo.stuSex == 0?男:女}"></td><td th:attr="checked=${stuinfo.stuSex == '男'?true:false}"></td>两个以上的判断<td...

2019-09-22 14:51:32 1360

原创 java中文件的读取和写入

import java.io.*;public class TestDemo { /** * 功能:Java读取txt文件的内容 * 步骤: * 1:先获得文件句柄 * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取 * 3:读取到输入流后,需要读取生成字节流 * 4:一行一行的输出。readline()。...

2019-09-22 14:50:27 570

原创 从服务器上下载文件

1、测试类 Test.javapackage com.ck.test03;/** * @ClassName Test * @Description TODO * @Author chengkuo * Data 2019/8/7 18:07 * @Version 1.0 */public class Test { public static void main(String...

2019-09-22 14:49:35 2132 1

原创 linux 执行报错:Do not run Composer as root/super user !

在 linux 环境下使用 composer 创建项目时, 出现Do not run Composer as root/super user ! 错误 , 从错误的提示中可以得出 , 不要以root /超级管理员的身份运行 composer . 解决办法是 . 创建一个新用户 , 使用新用户执行操作 即可 .具体步骤如下:1 . 创建新用户和 密码 useradd newname ...

2019-09-20 15:45:39 13671

原创 linux遇到目录权限问题mkdir(): Permission denied 解决办法

在操作 linux 时,有时会遇到 mkdir(): Permission denied 错误 , 这是操作权限不够导致的, 此时需要修改文件的操作权限 . 步骤如下 : cd /data/www/default/your_dir sudo chmod -R 777 your_dir执行完毕后 , 文件操作权限被修改 ....

2019-09-20 15:35:00 49285 2

原创 java把距离1970年 1月1日 的秒数 转换成对应的日期

java 中把 已知的距离1970年 1月1日 的秒数 转化 为相应的日期 的实现方式第一种方式:采用 Date 类的 setTime( Long time ) 方法public class Timetest { public static void main(String[] args) { //秒 long second = 1509412...

2019-09-09 13:28:23 4460

原创 设计模式(二): 工厂方法模式

目录一、介绍二、适用场景三、工厂方法模式角色分配四、工厂方法模式实例一、介绍工厂方法模式应该是工厂模式家族中用的最多的模式,一般项目中存在的最多的就是这个模式。工厂方法模式是简单工厂的进一步深化,在工厂方法模式中,我们不再提供一个统一的工厂类来创建所有的对象,而是针对不同的对象提供不同的工厂。也就是说每个对对象都有一个与之对应的工厂。二、适用场景一个类不知道它所需要的对象的类:在工厂方...

2019-09-04 00:06:56 1692

原创 设计模式(一): 简单工厂模式( Simple Factory Pattern )

目录1.1. 模式动机1.2. 模式定义1.3. 模式结构1.4. 模式分析1.5. 简单工厂模式的优点1.6. 简单工厂模式的缺点1.7. 适用环境1.8. 模式应用1.9. 总结1.1. 模式动机考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等), 这些按钮都源自同一个基类,不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同...

2019-08-26 19:43:45 1665

原创 java 虚拟机(3)

String 类和常量池一、String 类和常量池二、String s1 = new String("abc");这句话创建了几个字符串对象?三、8 种基本类型的包装类和常量池一、String 类和常量池String 对象的两种创建方式:String str1 = "abcd";//先检查字符串常量池中有没有"abcd",如果字符串常量池中没有,则创建一个,然后 str1 指向字符串常量池...

2019-08-10 18:28:35 1550

原创 java 虚拟机(2)

HotSpot 虚拟机对象探秘1. 对象的创建(1):类加载检查(2):分配内存(3):初始化零值(4):设置对象头(5):执行 init 方法2. 对象的内存布局3. 对象的访问定位通过上一篇博客的介绍我们大概知道了虚拟机的内存情况,下面我们来详细的了解一下 HotSpot 虚拟机在 Java 堆中对象分配、布局和访问的全过程。1. 对象的创建下图便是 Java 对象的创建过程。(1)...

2019-08-10 17:17:33 1580

原创 java 虚拟机(1)

目录一 概述二 运行时数据区域1. 程序计数器2. Java 虚拟机栈3. 本地方法栈4. 堆5. 方法区5.1 方法区和永久代的关系5.2 常用参数5.3 为什么要将永久代 (PermGen) 替换为元空间 (MetaSpace) 呢?6. 运行时常量池7. 直接内存一 概述对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像 C/C++程序开发程序员这样为每一个 new 操作...

2019-08-10 16:55:46 1574

原创 Git 整理

目录认识 Git。Git 简史。Git 与其他版本管理系统的主要区别。Git 的三种状态Git 使用快速入门。获取 Git 仓库。记录每次更新到仓库。推送改动到远程仓库。远程仓库的移除与重命名。查看提交历史。撤销操作。分支认识 Git。Git 简史Linux 内核项目组当时使用分布式版本控制系统 BitKeeper 来管理和维护代码。但是,后来开发 BitKeeper 的商业公司同 Linu...

2019-08-10 16:26:48 1581

原创 版本控制

目录什么是版本控制为什么要版本控制本地版本控制系统集中化的版本控制系统分布式版本控制系统什么是版本控制版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 除了项目源代码,你可以对任何类型的文件进行版本控制。为什么要版本控制有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从...

2019-08-10 15:59:33 2035

原创 深入理解 java 中128 陷阱

java 中自动装箱 128 陷阱在 java 的自动装箱中,存在一个 128 陷阱, 先看一段 代码 :public static void main(String[] args) { Integer a = 127 ; Integer b = 127 ; Integer c = 128 ; Integer d = 128 ; Integer cc = 1000 ; ...

2019-08-09 14:35:15 2091

原创 在浏览器中直接访问远程 Linux 服务器文件

在浏览器中直接访问远程 Linux 服务器文件当我们把一些文件放到服务器上,想通过浏览器的 url 直接访问远程服务器的文件时,需要做的是配置远程服务器的 Tomcat 。只需在 远程服务器的 Tomcat 文件夹下,找到 conf 文件夹下 server.xml 文件 , 在配置文件的最下方加上如下代码即可://docBase 为文件所在的服务器存放地址 , path 为地址的访问简aud...

2019-08-07 23:40:14 16781 1

原创 linux 服务器配置java JDK , TomCat

linux 服务器配置java JDK , TomCat一、安装 java 环境1、下载并解压JDK 1.8 安装包2、配置环境变量二、安装配置 Tomcat新购置了一台腾讯云服务器,系统为 Linux(centos6.8)系统。安装了需要的 java 环境和 Tomcat 环境 , 再次整理一下:一、安装 java 环境1、下载并解压JDK 1.8 安装包附上我的百度云下载地址, 省去小...

2019-08-07 23:13:31 1666

原创 腾讯云服务器CentOS 7.2 安装并配置 Mysql 8.0.17

腾讯云服务器CentOS 7.2 安装并配置 Mysql 8.0.17一、安装前的准备二、下载资源三、开始安装一、安装前的准备首先因为我的服务器是 linux 系统 , 所以不像 windows 一样可以使用远程界面操作 ,所以需要下载 下面两个神器。WinSCPWinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计...

2019-07-31 23:09:45 2641

原创 Java中的final关键字详解

Java中的final关键字final关键字的基本用法1、修饰类2、修饰方法3、修饰成员变量final关键字的基本用法在 java 中, final 关键字可以来 修饰类、方法和变量。下面就来详细的了解一下 final 关键字的一些基本用法。1、修饰类当使用 final 修饰一个类时,表示这个类不能被继承。所以在自己设计一个类时,如果不想继承则可以将类设置为 final ,一般在设计工具类...

2019-07-29 11:34:01 1594

原创 mybatis联表查询的几种方式,association和collection的用法

mybatis的association以及collection的用法前言:一、association 的三种用法:第一种用法:association中使用select第二种方法,嵌套 resultMap第三种方法:嵌套 resultMap 简化版二、collection的三种用法:1、第一种方法:用select,跟association 中使用select类似:第二种方法:嵌套resultMap3...

2019-07-27 22:07:53 3129

原创 MYSQL8.0.17中出现MySQL服务启动时显示本地计算机上的MySQL服务启动后停止。某些服务在未由其它服务或。。。

MYSQL8.0.17中出现MySQL服务启动时显示本地计算机上的MySQL服务启动后停止。某些服务在未由其它服务或…以前使用的 mysql 5 版本的 , 后来更新为 mysql 8 , 因为被时区问题困扰 ,查找博客后 对 my.ini 文件进行了修改 , 然后重启 mysql 出现 启动不成功的问题 , 对网上的方法尝试后并没有解决 , 最后想起 , 把 my.ini 文件的修改还原 , ...

2019-07-27 09:39:03 11648 7

原创 JQuery 中 html() , text() , val() 方法的区别

JQuery 中 html() , text() , val() 方法的区别html( ):取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。在一个 HTML 文档中, 我们可以使用 .html() 方法来获取任意一个元素的内容。 如果选择器匹配多于一个的元素,那么只有第一个匹配元素的 HTML 内容会被获取。text( ) :取得所有匹配元素的内容...

2019-07-02 00:25:24 1538

原创 ssm使用JQuery 向后台传值

使用JQuery 向后台传值1. 通过地址传值2. 通过 ajax 传值到后台1. 通过地址传值可以通过 window.location.href=“地址” 传值到后台$("update").on("click",function(){ window.location.href = "<%request.getContPath()%>controller/update?id=...

2019-07-02 00:09:22 2273 1

原创 在 controller 中直接跳转到 其他方法

在 controller 中直接跳转到其他方法的方式可以在 controller 中直接跳转到其他方法的方式有两种 :1. return 方法名(model) ;第一种方式是直接在方法的最后返回值写为 : return 方法名(model) ;如:@RequestMapping("store_deleteGoods") public String deleteGoods(Mode...

2019-07-01 23:54:03 2860 1

原创 MyBatis传多个参数的几种方式

MyBatis传多个参数的几种方式1. 传入对象类型2.用 Map 封装传递3.多个参数类型一样的情况,可以直接传入4.多个参数的类型不同时1. 传入对象类型在传参的时候传递一个对象类型,自然在获取的时候可以获取这个对象的所有属性, 所以对于传递多个参数 , 可以采用把多个属性封装到一个对象中的方法实现 . 列出一个例子 :创建一个 PageBean 类public class PageB...

2019-07-01 23:44:12 3397

轮播图2.zip

使用javascript 实现前端轮播图功能, 设置左右滚动按钮和自动滚动

2019-09-11

左侧栏导航实例.zip

其中包括了前端实现左侧导航栏的效果, 可以在侧栏中添加二级三级菜单

2019-09-11

省市县三级联动.zip

此为省市县三级联动数据库表,和js实现. 可以很方便的实现省市县的字典

2019-09-11

WebChat-master.7z

一份关于webSocket网页聊天的小demo , 主要使用ssm 框架, Spring + SpringMVC + Mybatis . 数据库采用 mysql =

2019-09-11

空空如也

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

TA关注的人

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