- 博客(34)
- 收藏
- 关注
原创 线程池中execute方法和submit方法的区别
1、java线程池中的submit()和execute()方法有啥什么不同两个方法都是将线程提交到线程池(1)传入的参数不同(2)execute没有返回值。submit返回Future对象(3)excute方法会抛出异常。sumbit方法不会抛出异常。除非你调用Future.get()。(4)submit在interface ExecutorService内,execute在 inte...
2020-04-16 21:20:22 1466
原创 Spring中事务隔离级别和传播行为
1. 事务隔离级别的常量 * static int ISOLATION_DEFAULT -- 采用数据库的默认隔离级别 * static int ISOLATION_READ_UNCOMMITTED * static int ISOLATION_READ_COMMITTED * static i...
2020-04-09 09:19:05 238
转载 https与http协议的区别
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传...
2020-04-08 21:30:14 294
转载 线程池基础知识
1、为什么要是使用线程池创建/销毁线程需要消耗系统资源,线程池可以复⽤已创建的线程 控制并发的数量。并发数量过多,可能会导致资源消耗过多,从⽽造成服务器崩溃。(主要原因) 可以对线程做统⼀管理。2、线程池的原理Java中的线程池顶层接⼝是 Executor 接⼝, ThreadPoolExecutor 是这个接⼝的实现类。ThreadPoolExecutor 类提供了四个构造方...
2020-04-05 21:52:29 246
原创 KMP算法简单介绍
字符串匹配第一种是暴力破解第二种是KMP算法,假设主串为T,子串为P,首先要寻找前后缀最长公共元素长度,然后求出前缀表数组next[],最后根据next数组进行匹配。当T[i]与P[j]不相等的时候,根据next[j]的值来确定j=next[j]。(待完善!!!!!!!!!!!!!!!)...
2020-04-03 09:31:44 303
原创 java8新特性☞Lambda表达式基础
java8的新特性:Lambda表达式 函数式接口 方法引用和构造器调用 Steam API 接口中默认方法和静态方法 新时间日期API一、Lambda表达式的基础语法java 8中引入了一个新的操作符,“->”,该操作符称为箭头操作符或Lambda操作符,(看着有点像C++)的指针箭头操作符将Lambda表达式分为了两个部分左侧:Lambda表...
2020-04-02 23:04:42 179
转载 常见的设计模式总结
创建型模式的作用就是创建对象,说到创建一个对象,最熟悉的就是 new 一个对象,然后 set 相关属性。但是,在很多场景下,我们需要给客户端提供更加友好的创建对象的方式,尤其是那种我们定义了类,但是需要提供给其他开发者用的时候。简单工厂模式和名字一样简单,非常简单,直接上代码吧:public class FoodFactory { public static Food ma...
2020-03-31 11:20:18 185
转载 MySQL 索引相关
1、MySQL存储引擎MyIsAm与InnoDB的区别存储引擎Storage engine:MySqL中的数据、索引以及其他对象时如何存储的,是一套文件系统的实现。常见的存储引擎有:InnoDB引擎:提供了对数据库ACID事务的支持,并且提供了行级锁和外键的约束。他的设计目标是处理大数据容量的数据库系统。 MyIsAm引擎:不提供事务的支持,也不支持行锁和外键。 MeMory引擎:...
2020-03-30 22:01:36 207
转载 面试必会之ArrayList源码分析&手写ArrayList
注:本文所有方法和示例基于jdk1.8简介ArrayList是我们开发中非常常用的数据存储容器之一,其底层是数组实现的,我们可以在集合中存储任意类型的数据,ArrayList是线程不安全的,非常适合用于对元素进行查找,效率非常高。线程安全性对ArrayList的操作一般分为两个步骤,改变位置(size)和操作元素(e)。所以这个过程在多线程的环境下是不能保证具有原子性的,因此Arr...
2020-03-28 10:49:03 181
转载 ThreadLocal 相关
一、ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。ThreadLocal是除了加锁这种同步方式之外的一种保证一种规避多线程访问出现线程不安全的方法,当我们在创建一个变量后,如果每个线程对其进行访问的时候访问的都是线程自己的变...
2020-03-26 09:34:59 179
原创 JVM相关
JVM运行时的数据区主要包括:PC程序计数器、本地方法栈、虚拟机栈、方法区、堆PC:程序计数器,主要用来记录当前线程正在执行的字节码的位置,属于线程私有。**虚拟机栈:**是描述java执行方法的内存模型,每个方法被执行的时候,都会创建一个栈帧,把栈帧压入栈,当方法正常返回或者抛出未捕获的异常时,栈帧就会出栈。栈帧用来存储方法的相关信息,包括局部变量数表、返回值、操作数栈、动态连接等。线程私...
2020-03-25 22:32:31 196
原创 TCP 连接建立过程和连接释放过程
1、客户端A向服务器B发送连接请求报文,此时首部的同步位SYN=1,同时选择一个初始序号seq=x.TCP规定SYN报文(SYN=1)不能携带数据,但是要消耗一个序列号,这时TCP客户进程进入SYN-SENT(同步以发送)状态;2、服务器B收到连接请求报文后,如果同意建立连接,则向A发送确认,在确认报文中应把SYN和ACK都置为1,确认号是ack=x+1,同时为自己选择一个初始序列号seq...
2020-03-25 16:09:48 4676
原创 函数的渐近增长率
函数的渐近增长率增长率的概念使得我们集中关注算法在规模较大的时候的性能表现,它关注的不是代价函数的具体的值,而是代价函数的值随着规模增长的速度,因而不管开始的优劣如何,增长率较快的函数在面对大规模输入的时候会变得更大。渐近的概念帮我们处理了不同算法对于“大规模”的含义有不同解读的问题,它关注的是问题规模趋于无穷是算法的代价的变化规模我们引入3组共5个符号来描述函数的渐近增长率之间的关系,它们是...
2020-02-13 21:19:13 2020
转载 排序算法总结(一)
0排序算法说明0.1排序的定义对一序列对象根据某个关键字进行排序0.2 术语说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行; 时间复杂度:一个算法执行所耗费...
2019-09-04 21:58:25 349
转载 Java并发编程:Callable、Future和FutureTask
在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务...
2019-08-16 08:30:30 135
原创 java 琐碎知识
1、重载和覆盖的区别重载是在一个类中多态性的体现,是指一个类中定义了多个同名的方法,他们具有不同个的参数个数或者不同的参数类型。重载注意:(1)、通过不同的方法参数来区分的,例如不同的参数个数、参数类型和参数顺序(2)、不能通过方法的访问限制符、返回值类型或者抛出异常的类型来进行重载,(3)、在继承中,基类中方法是private的,派生类中出现同名的方法,不属于重载,是一个新的方法...
2019-08-09 10:49:41 151
转载 Java 反射机制
在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功能就称为java语言的反射机制。通俗点讲,通过反射,该类对我们来说是完全透明的,想要获取任何东西都可以。Java反射机制获取调用类的构造器、方法、成员变量:版权声明:本文为CSDN博主「魔鬼啊魔鬼」的原创文章,...
2019-08-09 10:49:11 141
转载 JAVA琐碎知识整理
1、static的作用被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。static可以用来修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。1)static方法static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既...
2019-08-02 15:40:45 159
原创 简单的神经网络学习
import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt#使用numpy生成200个随机点x_data=np.linspace(-0.5,0.5,200)[:,np.newaxis] # shepe:(200,1)noise=np.random.normal(0,0.02,x_data.shape)...
2019-07-19 11:25:02 163
原创 琐碎的知识点
1、Python assert的使用断言,使用assert关键字后面接一个条件表达式如果条件表达式为真,意味着程序的当前条件与开发人员的自己断言的情况一样,则程序继续运行如果为假,则表明一定在前面发生了错误,则程序停止运行,抛出异常例:assert 1!=1 #断言1不能于12、tensorflow由于版本问题出现的错误问题:TypeError: Value passed t...
2019-07-18 21:09:03 174
转载 【Tensorflow 学习笔记】placeholder
tf.placeholder(dtype, shape=None, name=None)TensorFlow中的占位符,用于传入外部数据。参数:dtype:数据类型。shape:数据的维度。默认为None,表示没有限制name:名称返回类型:TensorTensorFlow中加载图片的维度为[batch, height, width, channels]故placehol...
2019-07-18 11:11:33 201
转载 回归--回归预测的指标分析(附Python代码)
目录一、常用的评价指标1、SSE(误差平方和)2、R-square(决定系数)3、Adjusted R-Square (校正决定系数)二、python中的sklearn.metrics(1)explained_variance_score(解释方差分)(2)Mean absolute error(平均绝对误差)(3)Mean squared error(...
2019-06-05 14:47:30 4496
转载 MIN_MIN
Min-Min算法Min-Min算法是一种实现起来很简单的算法,算法的执行时间也很快。算法的思想是首先映射小的任务,并且映射到执行快的机器上。执行过程为:计算要参与映射事件的每个任务在各个机器上的期望完成时间,找到每个任务的最早完成时间及其对应的机器;从中找出具有最小最早完成时间的任务,将该任务指派给获得它的机器;指派完成后,更新机器期望就绪时间并将已完成映射的任务从任务集合中删除。重复上...
2019-04-12 16:55:24 245
原创 SSM 整合之Service层
1、applicationContext-service.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/cont...
2019-03-22 21:34:10 391
原创 SSM 整合之配置applicationContext-dao.xml
1.创建applicationContext-dao.xml,添加schema<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/sche...
2019-03-22 21:22:47 576
原创 SSM 整合
一、Dao 层:1.使用Mybatis框架。创建SQLMapConfig.xml2.创建一个applicationContext-dao.xml 2.1配置数据源 2.2需要让spring 容器管理SqlSessionFactory 2.3把mapper的代理对象方法spring 容器中,使用扫描包的方式加载mapper 的代理对象二、Service 层 ...
2019-03-22 21:16:54 134
原创 SSM 整合之Mybaits整合
创建Mybatisd的配置文件-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-config.dtd...
2019-03-22 21:15:48 236
原创 在eclipse中创建一个maven工程
在eclipse中创建一个maven工程 选择maven project 点next进入下面的界面 可以看到一个helloworld工程,但报错(添加下面的内容就OK了) src/java/main创建了一个Servlet,但报错 要解决问题,就是要将servlet-api-xxx.jar包放进来,作为maven工程应当添加servlet的坐标,从而导入它的jar直接...
2019-03-20 21:14:05 592
原创 如何使用eclipse开发maven项目
m2e的插件 因为使用的eclipse版本比较高,所以它自带了有maven插件。 点击”Add”,进入下面的页面 在eclipse中配置仓库的位置 构建索引Window---show view ------other----------maven Repositories 重构索引 整理自某随堂笔记 ...
2019-03-20 20:58:57 245
原创 Maven 相关基础
Maven 目录结构的规范Maven 相关命令:compilecompile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下。cmd进入命令状态,执行mvn compile,如下图提示成功:查看 target目录,class文件已生成,编译完成。testtest是maven...
2019-03-20 20:52:06 149
转载 SpringMVC实现处理器适配器的两种方式
SpringMVC 通过 HandlerAdapter 的 handler 方法来调用请求处理函数。在 DispatcherServlet 中根据请求路径利用 Handlermapping 找到对应的 handler 后,首先检查当前 Ioc 容器中所有可用的 HandlerAdapter ,再利用 HandlerAdapter 中的 supports 方法找到可以使用的HandlerAdapte...
2018-09-12 15:57:40 429
转载 动态代理
public class Client { public static void main(String[] args){ LogHandler logHandler=new LogHandler(); UserManager userManager=(UserManager)logHandler.newProxyInstance(new UserManagerImpl());
2017-11-26 14:46:38 312 1
原创 POI对Excel的操作
1、引入jar包:poi-3.11-20141221.jar、commons-lang3-3.1.jar、jdom.jar 2、将数据写入ExcelString title[]={"id","name","sex"}; //创建Excel工作薄HSSFWorkbook workbook=new HSSFWorkbook();//创建sheetHSSFSheet sheet=workbook
2017-11-23 20:05:04 228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人