- 博客(40)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Java线程实现生产者消费者模式
1 什么是生产者消费者模式想一个现实生活中的例子,啤酒商---超市---消费者也就是我们,啤酒商生产了啤酒,然后将啤酒销售给了超市,我们消费之又会到超市将啤酒买回来自己喝,那么啤酒商和消费者之间是什么关系呢?啤酒商不会管消费者消费了多少啤酒,只要是超市中没有了啤酒或者啤酒不足,卖给超市,如果超市啤酒满货,那么就不在生产啤酒,等待超市进货,我们消费者也不必关心啤酒商生产了多少啤酒,只要超市里面有,我...
2018-06-11 20:24:46
4936
原创 Java之理解线程
1 什么是线程在一个程序之中可以,“同时”进行多个操作或者任务,而每一个任务就是一个线程,每一个线程完成一个功能,并且与其他线程并发执行,这种机制被称为线程。2 理解线程线程是进程中的一个顺序执行流(顺序执行流是有程序启动入口,程序逻辑和程序出口),线程是应用程序中的一个任务。(此任务完成了一个功能模块)3 并发3.1 理解并发知道了什么是多线程,那么它是如何工作的呢?原理就是并发,不知道大家注意...
2018-06-11 15:22:53
263
原创 Oracle数据库之常用数据类型及其操作
1. Oracle数据库的常用数据类型说明:[]代表可有可没有:数据类型 含义 例子 number(p[,s]) 表示数字类型,p表示数字的有效长度,s表示小数点后的位数,整数位最大位数p-s number(5,2):最大值为999.99 number(2):2是p,s默认是0,最大值99 char 表示定长字符串类型,不规定默认是1个字节,规定,char(n),最大字节数:2000...
2018-05-22 10:05:29
1195
原创 搭建Hadoop集群
1. 首先在虚拟机中安装好三台虚拟机,并配置好网络至于安装过程和网络配置请参考我的其他文章2. 搭建集群之前的说明我使用的是hadoop2.7.3,jdk1.8,CentOS6.8,参考我这篇文章的小伙伴门,请尽量保证和我的版本一致,因为Hadoop的不同组合,有时候不会有用,并且命令也可能不一样,hadoop2.7.3依赖jdk1.8.,可以去百度的页面上,找到可能组合成功的操作系统、Jav...
2018-05-19 00:57:16
286
原创 Linux之shell脚本基础
1. 什么是shell脚本shell脚本就是以shell为解释器的一种脚本程序,至于脚本的概念和用处请参见我的另一篇博客:脚本语言和编程语言的比较,它可以和系统进行交互,可以这么说,是一种交互式编程语言。2. 脚本的执行方式2.1.echo输出命令 echo [选项] [输出内容] 选项: -e:支持反斜线控制的字符转换 echo -e "\e[1;31m 嫁人就要嫁凤...
2018-05-17 12:24:49
377
原创 Linux之配置网络环境
CentOS配置网络环境一共有两种,下面是这两种,版本是CentOS6.8,1. CentOS自带的工具setup1.1. 在命令界面输入setup回车1.2. 选择”Network configuration”(网络配置),回车1.3. 选择“Device configuration”(设备配置)->选择第一项eth0,由于第一块网卡是nat模式的,所以不用配置静态ip1.5.将光标移动...
2018-05-15 16:54:18
762
原创 Linux之安装Linux详细步骤
1. 准备前说明本文采用的是CentOS6.8,64位的,虚拟机时VMvare,采用的是双网卡方式。至于双网卡的作用和nat,桥接和hostonly模式请参见我的另一篇文章。安装回环网卡&安装Linux前准备 2. 废话不多说,开始了◆打开虚拟机,点击文件---》新建虚拟机 ◆出现如下内容。选择典型,单击下一步◆出现如下界面之后,我们选择“稍后安装操作系统”,然后单击“下一步” ...
2018-05-14 17:00:43
67014
10
原创 安装回环网卡&安装Linux前准备
1. 什么是回环网卡回环网卡就是微软的一种类似于虚拟网卡的一种设备,它能够被安装在一个没有网卡(这里是硬件网卡),的环境下,或者用于测试多个宿主环境。2. 回环网卡的作用这里仅仅以在vmvare中安装Linux来说,vmvare中一共有三种让Linux虚拟机和主机连通的方式也就是能ping通,分别是nat模式,桥接模式,和hostonly模式,至于这三种方式的意义,一会再说,现在说这三种方式的...
2018-05-14 15:02:12
7390
2
原创 Linux之Linux的运行流程
我想大家明白了Linux的运行流程,也许就会明白很多文件是干什么的了,关于这个问题,我想直接上图,比较好,然后我再逐一解释这个图,这幅图是我从网上下载的。◆ 首先,本机会进入BIOS进行开机自检,然后读取MBR主引导记录。◆ 加载引导程序,Bootloader/Grub,然后这个程序,读取它的配置文件,BCD/grub.conf,这个时候如果有双系统的话,会让用户选择,比如Linux和...
2018-05-12 20:46:10
853
1
原创 Linux之进程管理
1. 什么是进程:进程是正在执行的一个程序或者命令,每一个进程都是一个运行的实体都有自己的地址空间,并且占用一定的系统资源。正在运行着的程序,只要运行就会产生至少一个进程。至于具体解释,请参见我的另一篇文章:进程、线程和前台进程、后台进程。2. 进程管理的作用1.判断服务器的健康状态,(主要作用) 2.查看系统中所有进程 3.杀死进程 注意:1.非法进程不能直接杀死进程,因为病毒会自动重启,或...
2018-05-10 19:28:52
200
原创 Linux之服务管理
1. 服务是什么服务其实也是一款软件,只不过这个软件可以被其他软件引用或者依赖,也就是说这款软件为其他软件提供服务,所以叫做服务。有一些服务是相互依赖的,有一些是独立的服务,不依赖其他服务。2. Linux服务分成两个类别2.1.rpm包默认安装的服务, 独立的服务--就在内存中 基于xinetd服务----xinetd本身是独立的在内存中,然后它管理一堆服务,由x...
2018-05-10 14:20:26
599
原创 进程、线程和前台进程、后台进程
因为这些概念我从开始接触计算机就有点混淆不清,可能大家也会和我有相同的感觉,所以整理一下我理解的这几者的区别,和定义,希望可以帮助到大家,当然不一定正确,但我相信一定会管用。 进程进程:是正在执行的一个程序(软件)或者命令,每一个进程都是一个运行的实体都有自己的地址空间,并且占用一定的系统资源。说白了进程就是正在运行着的程序,只要运行就会产生至少一个进程。为什么说只要程序运行就至少会产生一个进程呢...
2018-05-07 20:17:49
4559
原创 脚本语言和编程语言的比较
脚本语言和编程语言的定义脚本语言: 脚本语言是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。和传统的Java,c++等编程语言不同,脚本语言,不需要编译器!!!,它需要的是解释器,什么意思呢?也就是说,脚本语言是解释执行的,打个比方:我有一款专用的软件,而这款专用的软件上面执行特定的操作才能和我的软件进行交互,而这个操作的集合就是解释器,进行的操作就是脚本语言,当我们...
2018-05-07 16:12:57
11405
原创 Java的内省机制&自动注入的原理
1. 什么是Java内省:◆Java中的内省(Introspector),是Java对JavaBean类的属性,方法和事件的一种缺省处理方法。这么说,可能很难理解,那么简单的说其实就是Java通过内省获取JavaBean类的描述,并且对JavaBean对象进行相关操作的一种机制。◆是不是觉得内省和反射很像?没错,确实有联系。其实Java的内省机制是依赖反射的,相当于对反射的一种封装,只不过,这种...
2018-05-07 15:09:58
961
原创 Linux之文件系统管理
分区和文件系统1. 什么是分区:·· 分区就是对磁盘进行的一种格式化,然后才能使用硬盘保存各种信息,硬盘通常最多可以分成四个实际分区。其中主分区最多四个,最少一个,扩展分区最多一个,最少0个。也就是说,主分区加上扩展分区最多只能有四个。 那么扩展分区是什么呢?其实扩展分区是用来划分逻辑分区的,因为有时候四个分区可能不能满足我们,但是又受限于当前工业水平的限制,最多只有四个分...
2018-05-06 22:41:32
761
原创 Linux之安装软件
软件包分类o 源码包----Windows几乎没有,源码包安装有好处就是,1.可以自己选择的功能多,不想Windows中安装软件可以选择的功能比较少,2.并且由于是在本机上编译的源码包,这个程序更适合自己的系统,更快速。速度快百分之5左右。3.而且还有卸载方便的特性,直接删除安装位置就可以了。坏处就是1.安装时间过长,因为需要编译,比如安装一个50兆左右的软件,源码包需要两个小时,而二进制包,...
2018-05-04 18:10:31
206
原创 Oracle数据库之初识Oracle数据库
1. 什么是关系型数据库关系型数据库是由多张能互相联接的二维行列表格组成的数据库。其中二维表列被称为字段(Field),二维表的行:被称为记录2. DB和DBMSDB:database的简称,即数据库,是按照数据结构来组织、存储和管理数据的仓库, 其中关系型数据库的就是按照二维表来阻止,存储和管理数据的仓库DBMS:databasemanagement system ,即数据库管...
2018-05-03 10:02:48
486
原创 dom4j创建、解析xml以及应用xpath查询元素
xml的两种解析原理xml解析方式分为两种: DOM(Document Object Model)和SAX(Simple API for XML),首相说明,这两种方式不是针对Java的xml解析技术,而是跨语言的解析方式,比如:JavaScript中就有dom解析技术。DOM解析原理dom解析方式的原理:要求解析器把整个xml文档装载进一个document对象之中,该对象中包含文档元素和所有的x...
2018-04-28 20:26:09
692
原创 Linux的vi/vim命令
什么是vi/vim Vi/vim是一个强大的文本编辑器,是Linux中最常用的文本编辑器,它的作用的是建立、编辑或修改、显示文本内容。Vi/vim的三种工作模式:Vi和vim的使用使用之前我要说明一件事情就是vi和vim的命令比较多,这里给出一些记忆的方法,希望对大家有所帮助。首先是一个文本的结构,别看它很简单,但是很多人容易忽略,1. 文本结构,文本由行组成,行由每一个字符组成...
2018-04-25 16:36:30
1093
原创 hibernate和mybatis的区别,两者使用的场景
注意本篇文章是基于已经学过并且理解hibernate和mybatis的人写的,如果没有学过阅读本篇文章很可能是不理解的。共同点:都是一个持久层框架区 别:1.hibernate是一个标准的orm框架,全自动的,而mybatis是半自动的。 hibernate是一个标准的orm框架,完全可以根据自己的对象关系模型来操作数据,而mybatis也有自己的映射关系,就是输...
2018-04-24 22:33:46
247
原创 SpringMVC和Struts2的区别,为什么要用SpringMVC
注意本篇文章是基于已经学过并且理解SpringMVC和Struts2的人写的,如果没有学过阅读本篇文章很可能是不理解的。至于共同点就不想多说了,就是都为视图层框架,区别: 1.SpringMVC是基于方法开发的,而Struts2是基于类开发的。 解释:学过SpringMVC的人都知道,如果不用注解的话,其实每一个访问路径都会映射到一个handler上面,...
2018-04-24 21:54:11
2353
原创 泛型的优缺点和泛型的使用场景
泛型类和泛型方法泛型类:具有一个或多个类型变量的类,称之为泛型类 比如:classA<T> {} Class A<k,v>{ } 泛型方法:具有一个或多个类型变量的方法,称之为泛型方法 比如:public<T> T fun(T t1) {} 但是请注意:publi...
2018-04-23 21:50:24
7778
原创 hibernate以及mybatis的缓存、预编译、延迟加载(也就是懒加载)和批处理的含义和区别
说到这几个概念,不知道大家有没有和我一样的感觉,刚开始学习框架的时候总是傻傻的分不清,甚至在刚学习jdbc的PreparedStatement的时候,就只知道它是预编译的,更加安全,效率更高。并不知道为什么。但是在这篇文章中,我将尝试着将这几个概念和其中的原理描述出来,如果我有什么不对的地方,请大家帮我提出来,首先从最开始的时候开始吧 预编译:预编译的原理就是先将一个带占位符...
2018-04-22 21:55:08
694
原创 Linux常用命令之搜索命令、帮助命令、解压缩命令和网络通信命令
搜索命令 文件搜索命令 1.命令名称:which 命令路径:/usr/bin/which 执行权限:所有用户 功能描述:搜索系统命令所在目录和别名 语法:w...
2018-04-22 20:36:28
163
原创 Linux的文件系统结构和常用命令
Linux的文件系统结构 / 根目录 /bin 存放必要的命令 ,执行文件/boot 存放内核以及启动所需的文件等 /dev 存放设备文件 /etc 存放系统的配置文件 /home 用户文件的主目录,用户数据存放在其主目录中 /lib 存放必要的运行库 /mnt 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。 /proc 存放存储进程和系统信息 /r...
2018-04-21 22:46:16
243
原创 Javase基础part4--final关键字和内部类
final关键字Final变量1. final变量final关键字可用于声明便令声明,一旦该变量声明,就不可以更改该变量的值。通常由fianl定义的变量为常量2. final声明变量的语法①:final关键字修饰的变量,一般都是全部大写字母,以区分和常量的区别 ②:final关键字修饰的变量,可以是基本数据类型也可以是引用类型 ③:final关键字修饰的变量不可...
2018-04-17 21:47:17
173
原创 javase基础part3--对象类型转换,抽象类和接口
对象类型转换1. 向上转型举个例子:比如你可以说鹰是一个禽类,禽类又是一个动物类,也可以说鹰是一个动物,但是不能说动物就是一个鹰吧,这里有一个动物类 class Animal {………};一个鹰继承动物类 class Eagle extendsAnimal {……}在实例化的时候,你可以这样做Animal eagle = new Eagle();//因为鹰类本来就是继承的动物类,所以可以说鹰...
2018-04-16 22:36:16
218
原创 对象增强方式之继承
什么是继承:继承是基于某个父类的扩展,制定出一个新的子类,子类可以继承父类原有的方法的属性,也可以增加原来父类不具备的属性和方法。或者直接重写父类中某些方法。 在父类中写的方法就相当于在子类中写的一样。可以用作对父类对象的一种增强方式继承的特点: 1.使用关键字extends,表示继承 2:java语言中,是单继承关系,子类只能有一个父类 父类可以有多个子...
2018-04-15 22:10:48
154
原创 javaSE之Part2
这篇文章是自己PPT上面的东西,可能截图比较多,见谅,另外我会上传这份PPT想下载的可以下载类和对象 类的特点类是抽象的,是没有具体实例的,只是一种对象的模板。 类的结构: 权限修饰符 class 类名{}属性(成员变量)的结构: 权限修饰符 类型 属性名 【赋值】成员方法: 权限修饰符 返回值类型 方法名(参数...
2018-04-15 22:06:33
130
原创 对象增强方式之动态代理
1.什么是动态代理 什么代理,这个我在这里就不多说了,此类文章很多,读者一搜就有,如果在这里在写一遍就有点浪费时间了。那么说一下什么是动态代理,就是可以在程序运行的过程中,动态的创建的对象与方法,也就是说在运行之前是没有.class文件让你读入内存,然后创建对象,而是在运行的过程中在内存中创建对象,所以其具有更好的灵活性,为什么具有更好的灵活性请参见我的另一篇文章对象增强方式之装饰者...
2018-04-15 21:28:01
274
原创 java的类加载器和Tomcat的类加载器
java的类加载器 1.什么是类加载器: 所谓类加载器就是把.class文件加载到jvm的方法区内,变成一个Class对象 。 2.类加载器的作用: 首先说明,类加载器是每一个类在创建的时候都会使用的一个“引路人”,它把.class文件“指引到”jvm的方法区 ,变成一个Class对象,然后进行使用,也可以这么说,类加载器就是jvm的一个左膀...
2018-04-15 19:51:27
701
原创 HTTP协议之状态码的部分常用解释
1.HTTP协议的格式 客户端,请求格式:请求行(request Line),请求头部(header),空行和请求数据,其中get请求只到空行就结束了,也就是get请求是没有请求数据的,post请求有。 格式如下:GET /hello.txt HTTP/1.1User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l z...
2018-04-08 19:56:34
149
原创 对象增强方式之装饰者模式
增强对象的方法一共三种,分别是: 继承 装饰者模式 动态代理现在分别说一下三个增强方式的特点:继承: 1.增强的内容是死的,不能动 2.被增强的类也是死的。装饰者模式: 1.增强的内容是不能修改的 2.被增强的对象可以是任意的动态代理: 1.增强的内容是可以修改的---执行的逻辑 2.被增强的类对象也可以切换从上面可以看出动态代理技术的对象的...
2018-04-08 19:15:34
305
原创 关于ThreadLocal的简单理解与源码山寨
1.为什么使用ThreadLocal? 当我们进行java的相关操作的时候,有时候并不是想 这个资源进行共享 只是有的时候,一些代码导致这个资源得到共享了,那么就可以通过ThreadLocal来进行密封操作这个资源,然后为每一次访问此资源的线程都创建一个副本,有人会问那么为什么不适用同步块呢,因为,同步块解决线程安全问题的时候,其他线程都会排队等待,这就导致了时间上耗...
2018-04-02 09:48:15
182
原创 js知识点清单
javaweb的js部分自己总结的知识点清单,如果转发请注明出处,尊重原创,虽然写的不怎么样吧,哈哈 ,内容中有些时候是不连贯的,那是本人做的笔记,或者写的感想,不影响阅读。有错误的地方还请批评指正。Js部分 Document.write(“ ”) 可以往HTML里面写文字或者标签也可以 对大小写敏感 Alert(内容) 弹出一个对话框Js事件1....
2018-03-28 19:33:43
1357
原创 css知识点清单
javaweb的css部分自己总结的知识点清单,如果转发请注明出处,尊重原创,虽然写的不怎么样吧,哈哈 ,内容中有些时候是不连贯的,那是本人做的笔记,或者写的感想,不影响阅读。有错误的地方还请批评指正。css部分css语法1.css基本语法 selector{ property:value }例如:h1{color:red;font-...
2018-03-28 19:31:29
389
原创 HTML知识点清单
javaweb的HTML部分自己总结的知识点清单,如果转发请注明出处,尊重原创,虽然写的不怎么样吧,哈哈 ,内容中有些时候是不连贯的,那是本人做的笔记,或者写的感想,不影响阅读。有错误的地方还请批评指正。HTML部分Margin:外边距Padding:内边距HTML属性元素和格式化。<p> </p>:一个段落标签<br/>空标签:换行标签两个标签都是换行,但是两...
2018-03-28 19:28:29
276
原创 java中路径的问题
java中的路径对于一个初学者来说,可能是一件很迷糊的事情,在这里我要说一下我自己理解到的,来帮助一些初学者解惑,大神就没必要看了,我的理解只是辅助自己记忆的,不一定是正确的。如有错误欢迎来批评指正。 说道路径不得不说一下相对路径和绝对路径: 路径: 路径就是相对于某一个参照点或者参照物的本文件所在的位置。 在不同的文件操作系统下路径的分隔符...
2018-03-25 22:29:48
255
2
新手求助,java编程中的一些小问题
2016-10-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人