自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

0bug0warning的博客

keep on doing

  • 博客(35)
  • 收藏
  • 关注

原创 js正则表达式零宽断言

                                     js正则表达式零宽断言一:正则表达式引入原因:我们开发网站需要对一些前台传过来的字符串进行检验,比如检验用户输入的用户名是否合法,电话号是否合法,用户的邮箱是否合法等。我们可以自己写个函数进行检验。但是过于繁琐,这时候我们可以用正则表达式进行检验。能够准确的检验出用户输入的邮箱是否合法,如果不合法反馈给用户。...

2018-12-27 17:30:22 984

原创 java实现自定义类实现HashMap,Arraylist,Queue数据结构

                        java实现自定义类HashMap,ArrayList,Queue结构我们可能了解hashmap的用法,了解过底层的源码,jdk1.7底层采用拉链法实现,jdk1.8中采用红黑树。这里我们用jdk1.7中的方式实现hashmap数据结构。用结点类实现ArrayList和Queue。自定义类实现Queue结构:Queue.java:...

2018-12-25 22:16:20 531

原创 java线程池应用场景 数据分析和网络爬虫

java线程池应用场景 数据分析和网络爬虫一:java多线程应用我们在实际的开发中经常会用到多线程,比如我们对磁盘文件的读写,为了提高对cpu的利用率,我们会在很多地方用到多线程,:1、比如我们可能会启动多个线程来读写磁盘。我们通过开启多个线程来不断轮询对应的设备寄存器是否准备好数据,没有准备好这个线程就去处理别的东西,然后再...

2018-12-25 12:22:21 1056

原创 javaweb服务器分布式集群解析

                                   javaweb服务器分布式集群一:服务器类型服务器的分布式和集群都是由集中式发展而来的。但是分布式和集中式会配合使用。我们用图来了解下工作模式。集中式:分布式:集群:我们在搭建网站的时候,为了及时响应用户的请求,尤其是高并发请求的时候,我们需要搭建分布式集群来处理请求。我们一个服务器的处理...

2018-12-22 16:09:54 1524

原创 java中的I/O与NIO区别

                                          java中的I/O与NIO区别一、I/O于NIO的基本概念:I/O即普通I/O,是我们比较常用的一种形式,I/O又称阻塞IO。在默认情况下,文件操作都是阻塞IO。当线程需要读取文件的时候,发现文件没有准备好,就会进入阻塞状态。数据准备好了之后,就会唤醒该线程,线程进入等待状态,等待执行。轮到该进程执...

2018-12-21 17:51:08 1142

原创 java中的序列化和反序列化

java中的序列化和反序列化一:序列化和反序列化的概念:先来介绍下在java中序列化和反序列化的含义:1、对象序列化:是指把对象(包括类对象,字符串等)序列化成字节序列。2、把字节序列转化成对象。二:序列化的应用:1、对象持久化到硬盘:我们在java运行的过程中把想要持久化的对象存储在磁盘中或者我们在搭建...

2018-12-20 17:49:20 637

原创 java中HashMap、HashTable、CurrentHashMap的区别

java中HashMap、HashTable、CurrentHashMap的区别首先我们要知道有两种形式的集合。继承于collection接口的集合,继承于map的接口的集合。我们这里讨论的都是继承map接口的结合,以(key,value)的形式存储数据。实际上后缀是map的集合类最终实现的都是map接口。HashMap是我们比较常用的数据结构,我们可...

2018-12-20 15:37:01 2596 4

原创 java中String,StringBuffer,StringBuilder的区别

java中String,StringBuffer,StringBuilder的区别我们简单了解下这三种数据结构。String:字符串常量(线程安全)StringBuffer:字符串变量(线程安全)StringBuilder:字符串变量(线程不安全)这里string是字符串常量,我们单个讨论。我们来看看两种声明字符串的方式。...

2018-12-20 12:22:18 178

原创 操作系统I/O中的缓冲池

                                    操作系统I/O中的缓冲池我们先来了解下操作系统缓冲技术的概念。为什么有缓冲这个东西呢?缓冲,顾名思义就是起到一个调节的作用。我们知道cpu的处理速度是很快的,每秒钟百万条字节,而磁盘的I/O是比较慢的,因为涉及到机械运动,性能差别很大。所以要有一个缓冲区用来缓和他们之间性能上的差异。磁盘I/O到缓冲区中,然后缓...

2018-12-20 10:41:18 12737 1

原创 Arraylist和Linkedlist的区别以及性能分析详解

Arraylist和Linkedlist的区别以及性能分析Arraylistlist和Linkedlist的区别:1、Arraylistlist是基于动态数组实现的数据结构。Linkedlist是基于双向链表实现的数据结构。2、Arraylistlist对数据的读取修改的效率较Linkedlist快。因为Arraylistl...

2018-12-19 21:19:01 704

原创 JDK,JRE,与JVM之间的区别和联系

                          JDK,JRE,与JVM之间的区别和联系作为一个java程序员,你可能会很熟悉java的各种技术,java的数据结构,java的设计模式等等。但是当被问到jdk,jre和jvm之间有什么区别呢?可能我们一时间又会没有反应过来。我们来梳理一下他们之间的概念以及他们之间的区别和联系。1:基本概念jdk(Java Development...

2018-12-18 17:28:20 478

原创 SSM+Maven项目中spring-mybatis.xml配置解析

                      SSM+Maven项目中spring-mybatis.xml配置解析我们在用框架的时候可能直接按照固定的模式来搭建项目,然后按照固定约定好的方式来解决问题。比如我们处理前台的请求,只需要在对应的servlet路径上写上对应的value名称就ok。例如ajax请求的访问路径为:http://localhost:8080/project/path...

2018-12-18 12:11:33 668 1

原创 Linux环境Centos服务器下安装zookeeper

                              Linux环境Centos服务器下安装zookeeper1:在官网上下载zookeeper,官网地址:http://www.apache.org/dyn/closer.cgi/zookeeper/点击箭头所指进入下载:选择一个版本:下载之后利用xshell工具上传到服务器的目录下:执行rz命令,上传文件。如果不...

2018-12-16 18:37:51 190

原创 java静态内部类加载顺序

静态内部类加载顺序我们先来区分一下两个概念:类加载、加载。类加载的过程包括加载,初始化,验证,解析,准备,初始化等五个过程。加载是类加载的一部分。区分完这两个概念之后我们再来看下面的问题。我们声明一个类,这个类有个内部静态类。还有主函数,当我们启动程序之后,运行java application......

2018-12-13 21:43:01 9844 6

原创 java锁的分类和锁的内存语义

                                     java锁的分类和锁的内存语义java锁的分类:java对象锁有两种:对象锁、类锁。对象锁:在非静态方法上加锁。声明了一个对象锁。类锁:在静态方法上加锁,声明了一个类锁。经过大量的实验总结出以下结论:1、想要保证能够锁住对象,需要在对应的的普通方法上加上synchronized关键字。2、想要保证能够...

2018-12-13 20:35:45 231

原创 操作系统 文件共享

                                          操作系统 文件共享文件共享应用:文件共享是指当我们一个的文件被其他用户所访问,比如我们的windows操作系统,是多用户多任务的系统,允许一台计算机注册多个用户来访问。比如windows7操作系统在开机的时候,有一个切换用户的按钮,当我们输入其他用户的用户名和密码的时候,操作系统就会加载属于该用户的...

2018-12-12 19:31:23 7903

原创 java本地缓存 google guava

                                           java本地缓存 google guava本地缓存产生背景:本地缓存是指在我们本地的物理空间开辟出一片物理空间,专门用来存储我们需要向服务器端频繁需要的数据,比如前端页面需要频繁的向后台访问某些数据,这时候我们每次都去数据库查找数据再返回给前台就会有很大的开销。因为会涉及到磁盘I/O。但是如果我们...

2018-12-11 22:09:25 2959

原创 java内存模型中重排序

                                   java内存模型中重排序在了解重排序之前我们先来了解下java多线程之间是怎样对共享数据通信的。当有多个线程对共享变量访问(读)的时候,我们要保证共享数据的统一就需要有jmm(java内存管理里模型)来进行管理。比如有一个共享变量,线程A对共享变量更改之后在线程B读到的是线程A更新的值。JMM怎么控制的呢?...

2018-12-11 20:43:26 229

原创 红黑树的应用及增删改查

                                    红黑树的应用及增删改查我们接触过数据结构的应该二叉树这种数据结构,他是对链表的改良版,防止每次遍历的最大的时间复杂度达到O(n)理想情况下,二叉树的查找效率是O(log n),但是当数据倾斜的时候,数据是有序的插入到二叉树的时候,这时候二叉树就退化成了链表,这时候便出现了AVL树,红黑树,B树来改良这种数据结构。今...

2018-12-09 21:36:25 1447

原创 jsp servlet上传文件

                                     jsp+servlet上传文件到本地磁盘当我们开发网站做用户注册登陆的时候会把用户的各种信息存到数据库里。当然可能会包括一些图片的信息。我们怎么存储用户的图片信息呢?有两种方案。1:把用户的图片信息变成二进制图片,然后在数据库里以blob的字段类型来记录用户的信息。2:把用户的图片保存在我们本地磁盘,在数据库...

2018-12-09 21:03:42 490

原创 操作系统 文件的物理结构和文件目录

                             操作系统 文件的物理结构和文件目录先来说一下文件的文件目录。当我们建立一个文件之后,操作系统会给我们生成对应的记录文件信息的文件(记录文件)的文件名,文件的类型,文件大小,文件访问权限等属性和文件的物理地址。这就是文件的目录(你可以理解为文件夹)每个文件都有一个文件目录,为了节省空间和访问效率,操作系统把所有文件的目录都整理到一...

2018-12-07 15:24:41 6432

原创 java中GC的回收算法和垃圾回收器

java中GC回收算法java可以说是一个省心的语言,因为你在用java对象的时候根本不需要考虑他的内存分配和回收问题。就像我们的window10一样,什么内存分配的根本不用管。我是最高级的用户,需要去考虑那些么?操作系统说了:我来!!!操作系统对内存的管理就非常到位了。程序分成多少段...然后通过...

2018-12-06 22:43:23 211

原创 java通过反射获取的Field得到类实例的域信息

java通过反射获取的Field得到类实例的域信息首先我们要了解访问java类的实例域(成员变量)有两种方式:1、通过我们写的getter,setter方法访问类的成员变量,这两个方法可以我们自己写,也可以用编辑器自动生成。2、通过反射的方式访问类的成员变量。这里我们来实现一下用反射访问实例域。先看看代码实现TestReflecti...

2018-12-06 18:07:27 5345 3

原创 java反射中的Class方法

                                      java反射中的Class方法java中有一种特殊的Class类,Class类记录了class类的类信息,如class的成员函数,成员方法等。通过反射,我们可以得到类的Class信息,然后可以用Class对象的调用方法查看类的各种信息。这么说有点绕,我们来简单实现以下了解下反射的实现方法:java父类:...

2018-12-06 13:50:39 224

原创 操作系统 文件的逻辑结构

                                      操作系统 文件的逻辑结构什么是文件的逻辑结构呢?我们在用电脑的时候无时不刻不再接触文件,比如一个word文档,一个txt文档,或者一张图片,或者我们C语言写的一句printf(f所指的就是文件)。甚至我们用的键盘,鼠标都被操作系统当作文件处理。但是我们看到的这些一切都是逻辑结构的文件。逻辑结构的文件有两种分类。...

2018-12-06 09:12:38 2904

原创 In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column...

maven项目报错error:expression #2 of SELECT list contains nonaggregated column 'newhelp.appr.title'; this is incompatible with sql_mode=only_full_group_by这是因为随着MySQL版本更新带来的问题,在MySQL5.7版本之后对group by进行了优...

2018-12-05 20:51:09 16231 9

原创 java中的volidate用法及注意事项

java中的volidate用法及注意事项在应用多线程的时候,我们经常把volidate关键字和synchronized关键字比较。synchronized是多线程中的锁机制,利用synchronized关键字,同一时间只允许一个线程访问共享资源(读写)volidate也经常用于多线程中,注意volidate并不能保证数据更...

2018-12-05 14:27:11 9523 4

原创 CAS算法详解

                                                 CAS算法1、CAS概念:CAS是CompareAndSwap的缩写,中文意思是:比较并替换。当要进行CAS操作时,先比较内存地址和原来预期的地址比较,如果相同,表示这块内存地址没有被修改,可以用新地址替换,否则说明该地址被修改了,取消替换操作。整个过程就是个原子操作。以线程为例,CA...

2018-12-04 10:31:50 1767

原创 B树应用及增删改查

                                      B树应用及增删改查我们都可能了解二叉树结构,或者平衡二叉树结构。父结点的值比左孩子大,比右孩子小。为了防止数倾斜,再加上平衡操作。但是B树又有什么特点呢?B树的结构特点:B-树中所有结点中孩子结点个数的最大值成为B-树的阶,通常用m表示,从查找效率考虑,一般要求m>=3。一棵m阶B树或者是一棵空树...

2018-12-04 09:32:40 838

原创 MySQL存储过程

                                                MySQL存储过程当我们开发网站时候可能需要频繁后台数据库请求数据,或者更新数据,对于这种动态查询的sql语句,我们可以把它封装在MySQL存储过程中,这样在用的时候我们直接向其中传入参数,然后调用存储过程就ok了。这类似于函数调用。这样做的优势体现在一下方面:1:将重复性很高的一些操作...

2018-12-03 21:47:33 154

原创 MySQL数据库函数

                                        MySQL数据库函数一、聚合函数:1:COUNT()函数:COUNT()用来统计记录的总条数,一般与GROUP BY关键字一起使用2:SUM()函数:SUM()函数是求和函数 与GROUP BY关键字一起使用3:AVG()函数:AVG()函数是求平均值的函数与GROUP BY关键字一起使用...

2018-12-03 21:15:36 759

原创 MySQL数据库优化

                                          MySQL数据库优化我们知道计算机处理能力是非常迅速的,其实这种描述是不全面的,计算机速度块是指在内存的时候计算机处理速度快。但是在如下两种情况下计算机处理效率会大大降低。1:网络传输(网络I/O),在这种情况下计算机的处理速度是比较缓慢的,因为一旦涉及到网络传输,就会有因为网络方面的网络延迟,这种...

2018-12-03 20:56:46 136

原创 ecplise集成jad反编译工具

                                    ecplise集成jad反编译工具我们有时候可能想看看jdk自带的一些底层工具实现的源码,比如hashmap的源码,arraylist等等。这时候可以用反编译工具来查看各种数据结构的源码实现。仿照人家的思路,可以实现一个简单的用节点类实现一个简单的arraylist步骤:1:在sourceforge.net...

2018-12-03 20:23:36 202

原创 java发送邮件

                                              java发送邮件我们开发网站的时候可能需要有验证码,比如我们开发网站的时候需要有用户注册,这时候用户注册的时候会留下用户的手机号,以便用户在找回密码的时候验证身份。然后我们看看怎么解主javamail.jar向用户发送邮件首先你需要开通邮箱的smat服务,这里以qq邮箱为例:找到qq邮箱...

2018-12-02 22:44:49 270

原创 前端实现app端自适应页面

                                     前端实现app端自适应页面首先介绍集中前端app布局的方式。1:采用固定的px来定宽度和高度,在定义宽度的时候可能两边留下一部分空白,这样确实解决了浏览器(屏幕)兼容的问题,不过对于一些屏幕比较大的手机来说,两边的空白比较大,很不美观。操作的按钮太小不易操作等诸多问题就会出现。2:流式页面布局:所谓流式验...

2018-12-02 22:10:28 4643 1

空空如也

空空如也

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

TA关注的人

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