自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 2021-01-12

一、JAVA Web中的Filte与Listener1、过滤器在一组资源(jsp、servlet、html)获取前执行,决定能否得到相应的资源;实现:a.写一个实现Filter接口的类,并且重写doFilter()方法:doFilter(ServletRequest,ServletResponse,FilterChain):每次过滤时执行;b.配置web.xml中的与多个过滤器执行顺序FilteChian的doFilter()方法是放行本次过滤器去执行下一个过滤器;过滤器执行的顺序是在we

2021-01-12 23:14:25 96

原创 2021-01-08

一、乐观锁与悲观锁1、概念悲观锁就是我们常说的锁,它总是认为每次访问共享资源时会发生冲突,所以每次对数据的操作都必须加上锁,以保证临界区同一时间只有一个线程在执行;乐观锁总是假设对共享资源的访问没有冲突,线程可以不停地执行,无需加锁也无需等待。而一旦多个线程发生冲突,乐观锁通常使用CAS技术来保证线程执行的安全性。无锁操作中没有锁的存在,因此不可能出现死锁的情况;乐观锁用于"读多写少"的环境,避免频繁加锁影响性能;而悲观锁多用于“写多读少”的环境,避免频繁失败和重试影响性能;2、CAS概念(比较并

2021-01-08 23:28:28 132

原创 2021-01-07

一、synchronized与锁在不考虑底层的锁的实现,那么JAVA多线程的锁都是基于对象的,JAVA中的每一个对象都可以作为一个锁;JAVA类只有一个Class对象(可以有多个实例对象,多个实例共享这个Class对象);1、Synchronized关键字synchronized通常有以下三种形式:临界区:指的是某一块代码区域,它同一时刻只能由一个线程执行;2、几种锁(在 java SE1.6中为了减少获取锁和释放锁带来的性能消耗)Java对象头每个JAVA对象都有对象头,非数组类型用两个字

2021-01-07 23:16:13 151

原创 2021-01-06

一、JAVA内存模型1、并发编程的两个问题线程之间以何种机制来交换信息——>线程如何通信线程之间以何种机制来控制不同线程间操作发生的相对顺序——>线程如何同步a.解决方案消息传递并发模型共享内存并发模型2、JAVA内存模型的抽象结构a.运行时内存的划分栈中的变量(局部变量、方法定义参数、异常处理器参数)不会在线程之间共享;而堆中的变量是共享的,存在可见性的问题;b.堆中的内存不可见问题线程之间的共享变量存在内存中,每个线程都有一个私有的本地内存,存储了该线程以读、写共享

2021-01-07 11:35:52 99

原创 2021-01-05

一、Java多线程和并发知识点(二)1、Callable、Future与FutureTask解决Runnable与Thread创建新的线程后,run()方法没有返回值的问题,称为异步模型。Callable是只有一个抽象方法的函数式接口,有返回值,支持泛型;Callable一般配合线程池工具ExecttorService来使用,ExecutorService可以使用submit方法来让一个Callable接口执行。其返回一个Future,后续程序可以通过这个Future的get方法获得结果;注:

2021-01-05 23:31:46 125

原创 2021-01-04

一、Callcable与FutureCallable + FutureTask = Future + Runnable ——>将callable赋值给futuretask,可以通过Runnable去获取线程执行任务代码,future去获取异步执行的结果。1、Runnable封装一个异步运行的任务,可以把它想象成为一个没有参数和返回值的异步方法。Callable与Runnable类似,但是有返回值。Callable接口是一个参数化的类型。只有一个方法call()。类型参数是返回值的类型;ca

2021-01-04 23:20:21 142

原创 2020-12-30

一、线程安全的集合(java.util.concurrent)1、对并发散列映射的批操作批操作会遍历映射,处理遍历过程中找到的元素。a.3种操作:搜索(search):为每个键或值提供一个函数,直到函数生成一个非null的结果,然后停止搜索,返回这个函数的结果(只有一个输出);归约(reduce):组合所有键或值,使用所提供的一个累加函数;forEach为所有键或值提供一个函数(k,v);b.每个操作都有四个版本operationKeys:处理键;operationValues:处理值;

2020-12-30 22:47:05 116 1

原创 2020-12-29

一、阻塞队列对于许多线程问题,可以通过使用一个或多个队列以优雅且安全的方式将其形式化。当试图向队列添加元素而队列已满,或是想从队列移除元素而队列为空的时候,阻塞队列导致线程阻塞。1、阻塞队列方法分为以下3类:如果将队列当作线程管理工具来使用,将要用到put和take方法;当试图向满的队列中添加元素或是从空的队列中移除元素时,add、remove和element操作抛出异常;在一个多线程程序中,队列会在任何时候空或满,因此,一定要使用offer、poll和peek方法作为代替;2、offer方法

2020-12-30 10:28:39 123

原创 2020-12-28

一、Json简介javascript提供的一种数据交换格式;1、{ }是一个对象,其中属性名必须使用双引号括起来,其值可以是null,数值字符串等;2、四种JSON解析工具json-lib:最早出现的接送解析工具,但是依赖较多的第三方jar包,最后的更新的时间为2010年,不推荐使用;json:需要jar包jackson-core.jar以及jackson-mapper.jarobjectMapper mapper = new objectMapper()//objectMapper是json的

2020-12-28 23:19:46 137

原创 2020-12-24

一、Ajax(JavaScript中原生ajax)一般服务器给客户端的响应是整个界面,借助于ajax局部刷新,服务器不再响应整个页面,而是页面上变化的数据。1、ajax四步操作获取xmlHttpRequestvar xmlHttp = new XMLHttpRequest();打开服务器连接xmlHttp.open(“Get”,URL,true);第三参数表示请求是否是异步的;发送请求xmlHttp.send(null):参数就是请求的内容在xmlHttp对象上注册监听事件 onread

2020-12-24 22:55:00 78

原创 2020-12-23

一、PDM与PLM软件的关系PDM:产品数据管理PLM:产品全生命周期管理这两个软件可以说是CAD、CAM以及CAPP软件的集成,解决这些软件之间数据格式的人工转换注:CAE软件是对已有产品的分析和模拟二、ERP系统功能生产和物流管理主要从客户订单材料采购、工艺流程、生产能力、生产进程、物料控制等方面进行管理;财务管理主要是针对资金运用、现金流量、资金周转等方面的管理;供应链管理主要实现供应商与客户的关系管理;人力资源管理主要是要去掌握员工的工作和发展情况;三、企业信息化系统之

2020-12-24 12:14:58 81

原创 2020-12-22

一、分组交换网中的时延、丢包和吞吐量1、时延的类型处理时延:检查分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。此外,检查比特级别的差错(传输过程中bit的有误变化)的时间;排队时延:当分组在链路上等待传输时;一个特定分组的排队时延长度将取决于先期到达的正在排队等待向链路传输的分组的数量;传输时延:将所有分组的比特推向链路需要的时间;传播时延:链路的起点到路由器传播所需要的时间是传播时延;注:传输时延是路由器将分组退出所需要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之

2020-12-22 11:15:25 209

原创 2020-12-18

一、SpringMVC中的拦截器(在进行处理器前做一些操作)1.实现方式a.实现HandlerInterceptor接口,或者继承实现HandlerInterceptor接口的实现类(如HandlerInterceptorAdapter);HandlerInterceptor接口中定义了一下3个方法,分别是preHandle、postHandle和afterCompletion;preHandler:主要用于在执行控制器方法之前执行,返回值为boolean,若为false,则表示拦截请求,

2020-12-20 14:15:35 255

原创 2020-11-10

一、Hadoop中的HBase1.HBase是Hadoop数据库的简称,位于Hadoop的结构化存储层,HBase的实现一般构建值HDFS之上;2.Hbase面向列设计,离散型存储,是一个分布式的非关系型数据库,在普通硬件集群上托管非常大的表,实现对大数据进行随机实时的读/写访问操作;3.HBase适用于数据量达数亿行,数据结构简单,不需要做一些统计、聚类、连接等高级查询等业务;4.相关概念:a.行键:是检索表中记录的主键,用于查找确定的行;b.列族:在表的定义阶段给出,表一旦创建就是不可变的;

2020-11-10 21:12:32 74

原创 2020-11-09

一、RFID中间件1.基本架构a.边缘层:负责RFID设备的接入和管理(参数设置等);还负责过滤和消减海量的RFID数据,处理RFID复杂事件;封装不同厂家的RFID硬件的操作;b.业务集成层:将各个企业的业务流程关联在一起,形成基于RFID技术的业务流程自动化;二、智能制造的概念1.智能制造是指将物联网、大数据、云计算等新一代信息通信技术与先进制造技术深度融合,贯穿于设计、生产、管理、服务等制造活动的各个环节,具有信息深度自感知、智慧优化自决策、精准控制自执行等功能的先进制造过程、系统与模式的总

2020-11-09 23:13:41 153

原创 数组、链表、跳表的基本实现和特性

一、数组1.底层实现由内存管理器去内存中申请一段连续的地址,可以通过内存管理器去直接访问开辟的地址;2.基本特性a.可以随机地进行访问;b.删除添加操作比较麻烦,需要O(n)的时间复杂度;3.ArrayList源代码(不适合大量的插入、删除操作)a.指定位置的插入:完成一些前期查询工作后,需要将后部数组中的数据进行移动;System.arraycopy(source,sourcePos,destination,destinationPos,length):第一个参数时原数组,第二个参数时要复

2020-11-09 21:56:28 140

原创 2020-11-08

一、无线传感器网咯1.无线传感器网络包括传感器节点、汇聚节点和管理节点,是一个多跳的自组织网络;传感器节点检测到的数据沿着其他节点逐跳地进行传输,在传输过程中检测数据可能被多个节点处理,经过多跳路由后到达汇聚节点,最后通过互联网或者卫星到达管理节点;2.无线传感器的每一个节点都有路由的功能;二、生产过程管理1.生产过程管理是一个企业的灵魂,是指企业内零件最终转变为成品的过程;2.在没有物联网应用的情况下,对于Mes下发的生产零件所需的工序、物料、工装等数据,领料员去仓库领取物品并分配。在每个工位完

2020-11-08 14:58:06 1144 6

原创 2020-11-07

一、RFID标签和读写器之间的耦合方式1.电感耦合:适用于中、低频工作的近距离射频识别系统。电感耦合系统典型的工作频率为125KHz,225KHz和13.56MHz,该系统的识别距离小于1m,典型作用距离为10-20cm。2.电磁反向散射耦合系统一般使用于高频、微波工作的远距离射频识别系统。电磁反向散射耦合系统典型的工作频率为433MHz,915Mhz,2.45GHz和5.8Ghz,该系统的识别距离大于1m,典型作用距离为3-10m。二、传感器的组成1.敏感元件:能直接感受和检出被测对象的待测信息;

2020-11-07 23:04:57 871

原创 时间复杂度和空间复杂度分析

一、时间复杂度1.最常见的时间复杂度(注意:只看最高复杂度的运算)O(1):常数复杂度;O(log n):对数复杂度;——>for循环或者while循环中与n的乘阶有关O(n):线性时间复杂度;——>单循环O(n^2):平方;——>嵌套循环O(n^3):立方;O(2^n):指数;——>递归计算斐波拉契数列O(n!):阶乘;2.递归时间复杂度分析(画出树的分析树)每增加一层就要增加2^n次运算;a.使用主定理来计算递归函数的时间复杂度二分查找:O(logn);

2020-11-07 20:37:55 566

原创 2020-11-06

一、物联网在工业领域的应用1.制造业供应链管理:原材料采购、库存、销售等领域2.生产过程工艺优化:生产线过程监控、实时参数采集、生产设备监控、材料耗材等3.产品设备监控管理:设备操作使用记录、设备故障诊断等4.环保监测及能源管理5.工业安全生产管理二、物联网关键技术1.感知与识别技术(对客观世界全面感知)!!!感知层一般包括数据采集和数据短距离传输两部分。数据采集技术主要有自动识别技术和传感技术。数据短距离传输是通过蓝牙、红外、ZigBee、工业现场总线等端距离有线或无线传输技术进行协同工作

2020-11-06 23:13:41 667 2

原创 训练环境设置、编码技巧和Code Style

1.必须使用chrome浏览器,goole必须是默认浏览器2.java:Intelliej pyhton:pycharm当然在VScode中使用插件与可以替代上面的两种编译器3.leetcode网站介绍(两者只是在后缀名上有所差别:-cn)中文站:主要可以用于完成编码,测试正确与否;外文站:多看看discuss中Most Votes中优秀的回答(前3个);4.一些codestyle(平时一定要注意)a.if后面一定要有空格;b.左括号前面一定要有空格,并且左括号一定不要另起一行,跟在后面就

2020-11-06 21:44:50 143

原创 2020-11-1

一、Java中的protected关键字1.protected关键字用于访问控制权限;2.protected的可见性在于两点:基类的protected成员是包内可见的,并且对子类可见;若子类和基类不在同一包中,那么在子类中,子类实例可以访问其从基类继承而来的 protected方法,而不能访问基类实例的protected方法(也就是可以使用自己的protected方法而不能使用父类的方法);对于(1)而言,clone()方法来自于类MyObject2本身,因此其可见性为包P2及Myobjec

2020-11-01 18:11:27 86

原创 2020-10-31

一、Java中map<k,v>集合的get()方法与getOrDefault()方法的区别1.V get(Object key):获取与键对应的值;返回与键对应的对象,如果在映射中没有这个对象则返回null,键可以为Null;2.default V getOrDefault(Object key, V defaultValule):获取与键关联的值;返回与键关联的对象,或者如果未在映射中找到这个键,则返回defaultValue;二、更新映射项1.putIfAbsent(键名,默认值),

2020-11-01 12:19:48 150

原创 2020-10-30

一、Java中典型队列方法1.添加到队列尾部并放回true,如果队列满了,add():抛出IllegalStateException;offer():返回false2.删除并返回队列的头部元素,如果队列是空的,remove():抛出NoSuchElementExceptionpoll():返回Null3.返回队列的头部元素,但不删除,如果队列为空element():抛出NoSuchElementExceptionpeek(): 返回Null二、Java中的优先级队列1.优先级队列(pr

2020-10-30 23:12:29 85

原创 2020-10-29

一、如何上网使用GHelper浏览器插件二、ArrayList或LinkedList的有序与treeset数据结构的有序不是一个概念1.List集合的有序是指取数据的顺序是与存放数据的顺序是一致的;2.treeset的有序是指根据一定的规则有序的存放在树(目前是红黑树这种数据结构)这种数据结构中;例如,两种集合存放的数据的顺序是 “Bob”,“Amy”,“Carl”,那么两种集合的输出顺序分别如下:list:Bob,Amy,Carl;treeset:Amy,Bob,Carl3.注意!!!!:

2020-10-30 10:00:14 205 1

原创 2020-10-28

一、Iterable接口与Iterator接口的区别这是两个相互关联的接口;Iterable接口为所有的Collection集合定义了抽象方法Iterator(),这个方法的返回值是Iterator接口类型。!!!!!方法和返回的类型名字上是一致的。但不是一个东西。二、Java中集合的接口list接口的集合是有序的(指是按照插入的顺序排列的),相关内容会被加到容器的对应位置;set接口的集合不允许有重复的内容 ,但是其排序是无序的 ;RandomAccess接口是一个标签接口,没有相关的方法

2020-10-28 23:16:25 94

原创 2020-10-27

一、堆和栈的区别栈是一种先进后出的数据结构内存分配中的堆和栈.rodata:常量区.data:初始化的全局变量和静态变量.bss:声明但未初始化的全局变量和静态变量3.JVM虚拟机中的堆和栈栈:存放的是方法内部的局部变量堆:存放的是对象,简单来说就是需要new出来的对象二、.cmd文件与.bat文件的区别本质上没有区别,都是简单的文本编码方式,都可以用记事本创建、编辑和查看。两者所用的命令行代码也是共用的,只是cmd文件中允许使用的命令要比bat文件多。cmd文件只有在windo

2020-10-27 23:11:53 71

原创 算法与数据结构应该如何下手

一、数据结构与算法总览1、如何在一个领域有所建树将知识转化为树状结构,分清主次,分块突破。2、数据结构分类3、算法分类前3中算法是所有算法的核心,所有复杂的算法最后都可以转化为这3种算法;A*:启发式搜索;4.两张脑图5.刷算法题的技巧a.切题四件套1、clarification:多看几遍题目2、Possible Slution: 尽量多想几种解决方法,比较其时空复杂度3、coding4、Test cases:给出题目的测试用例b五遍算题法1、第一遍:10分钟的读题

2020-10-27 21:46:16 395

原创 javaweb项目中classpath路径说明

javaweb项目中classpath路径说明:classpath 路径在每个J2ee项目中都会用到,即编译后生成的target目录(其中的内容是未编译之前main文件夹下java文件夹和resource文件夹的内容)下的classes目录(该目录同时也存在于打包好的war包的WEB-INF文件夹下),所有src目录下面的java、xml、properties等文件编译后都会在此,所以在开发时常将相应的xml配置文件放于src或其子目录下;main文件夹下的webapp文件夹在编译后成为项目名-0.0.

2020-09-08 21:09:32 281

转载 Web Application:Exploded和Web Application:Archive(转)

转载自:https://blog.csdn.net/ejiao1233/article/details/80444845/关于这两者的区别,参考了这个链接参考文章,说得很清楚,感谢分享;简单总结下:1、web application exploded:这个是以文件夹形式发布项目,发布项目时就会自动生成文件夹在指定的output directory;2、web application archive:就是war包形式,将项目打成一个war包在指定位置;下面分别看一两种方式的具体操作,不足之处请大家

2020-07-31 10:30:34 1247

原创 synchronized和lock使用上的区别以及volatile的使用范围

1、两者的区别2、lock:3、synchronized:4、synchronized关键字是防止多个线程同时执行一段代码,会影响程序执行的效率,而volatile关键字在某些情况下要优于synchronized,但是volatile关键字是无法替代synchronized关键字,因为volatile关键字无法保证操作的原子性。一般来说,使用volatile必须具备以下条件:1)对变量的写操作不依赖与当前值;2)该变量没有包含在具有其他变量的不变式中;例如用于状态标记量和double chec

2020-07-30 16:47:17 283

转载 ORM、CRUD、JPA、SPRING-DATA-JPA之间的关系

本文主要针对数据库操作中的一些专用名词做一些阐述。1、ORMO:object,R:relation,M:mapping,对象关系映射,使用面向对象的思维操作数据库一个类对应数据库中的一张表格一个对象对应表格中的一条记录类的属性对应表格中的相应字段2、CRUD CRUD是指在做计算处理时bai的增du加(Create)、查询(Retrieve)(重新得到数据)、更新(Update)和删除(Delete)几个单zhi词的首字母简写。主要被dao用在描述软件系统中数据库或者持久层的基本操作功能。

2020-07-29 11:10:14 172

转载 git入门详解

Git入门项目知识

2020-07-28 16:04:08 72

转载 Java泛型详解(转)

一直对泛型的概念模模糊糊的,看了很多博客,下面这篇讲的非常好。https://www.cnblogs.com/coprince/p/8603492.html

2020-07-28 15:40:16 99

原创 JavaWeb项目目录详解

2020-07-28 15:21:43 629

原创 Tomcat下的webapps文件夹下的root详解

2020-07-28 15:11:37 3020

原创 Tomcat部署Web项目方法介绍(保姆级别)

方法一:1、将Web工程的目录拷贝到tomcat下的webapps文件夹下即可2、其中localhost:8080指代到webapps文件夹。对于不同的项目需要在后面指定不同的项目名称(对应的文件夹以及文件名)3、webapps下的每个文件都是一个Web项目方法二:1、在tomcat中的conf/catalina/localhost目录下创建相关配置文件。2、这样指定就可以不将工程放在webapps文件夹下。...

2020-07-28 15:03:42 175 1

原创 修改Tomcat默认端口号(保姆级别)

1、修改方式找到conf文件夹下的servelt.xml文件,并修改其port属性对应的数值。2、http协议默认的端口号是80。无论是否在IP地址后面添加80端口号,都会被消除,因此建议将Tomcat端口号该为80.

2020-07-28 14:45:44 113

原创 Tomcat目录介绍(保姆级别)

2020-07-28 14:36:35 98

空空如也

空空如也

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

TA关注的人

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