自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

此处省略三千字

博客为自己学习笔记或感悟,或者转载其他作者的文章!

原创 Linux下安装jdk、tomcat、zookeeper、kafka

1 linux环境下jdk安装步骤 1、下载jdk官网下载地址:jdk-8u201-linux-x64-demos.tar.gz 2 、检查当前系统是否已经安装了openJDK,如果已经安装,则将其卸载。 检查openJDK是否安装命令:rpm -qa|grep jdk 卸...

2019-12-18 09:25:36 281 0

原创 Mybatis的sql映射语句写法

mybatis模糊查询 Like Mybatis模糊查询like语句有几种拼写方式: <select id="query" resultMap="ManualResultMap" parameterType="Map">...

2019-12-04 16:41:17 218 0

原创 使用CSS3布局:header和footer固定在上下两端,中间body自适应上下伸展,超过一页时中间body内容上下滑动

<body> <header class="header">header高度固定86px</header> <section class="mainBox"> <div cla...

2019-07-12 23:13:14 1306 0

原创 Java IO流常见面试问题

IO流 先要明白一个基础问题: 1.什么是比特(Bit)?什么是字节(Byte)?什么是字符(Char)?以及他们的区别? Bit 位,是计算机最小的二进制单位 ,取0或1,主要用于计算机操作。 Byte 字节,是数据的最小单位,由8位bit组成,取值(-128-127),主要用于计算机操作...

2019-04-25 14:05:36 3036 0

原创 设计模式 - 代理模式:静态代理和动态代理

基础:需要具备面向对象设计思想,多态的思想,反射的思想; 1 什么是代理模式 代理模式:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。抽象角色:通过接口或抽象类声明需要实现的业务方法me...

2019-04-16 11:17:16 467 1

原创 shell编程入门

1 shell简介 Shell 首先是 UNIX/Linux 下的脚本编程语言,它是解释执行的,无需提前编译。 Shell 同时也是一个程序,它的一端连接着 UNIX/Linux 内核,另一端连接着用户和其它应用程序;换句话说,Shell 是一个帮助用户和应用程序 使用Linux内核的桥梁。 ...

2019-04-10 13:44:56 223 0

原创 linux下常见问题

1 Linux下vim文件时卡死不动 使用vim的时候,偶尔会碰到vim莫名其妙的僵在那里。 可能是不小心按了Ctrl+S,该组合键在Linux里是锁定屏幕的快捷键; 如果要解锁,按组合键Ctrl+Q。 2 binsh^M:损坏的解释器 没有那个文件或目录 这是由于脚本文件在保存时使...

2019-04-10 13:36:37 196 0

原创 java8的流操作

Java8引入了流-Stream API, 1什么是流 流:java API的一个新成员,使用这个api可以简明高效的处理数据集,可以理解成遍历数据集的内部迭代器。 简明:使用声明式方查询语句来表达,无需临时编写实现代码。 高效:可以透明的进行并行处理。 使用旧例子: 对菜单...

2019-03-31 13:57:28 716 0

原创 行为参数化和Lambda表达式(Java8)

1 行为参数化 使用场景:应对频繁变更的需求(的一种软件开发模式) 使用好处:”一个方法,多个行为”,即写一个方法,可以接受不同的新行为作为参数,实现不同的功能。 举个例子:你要处理一个集合,可能会写出这样的业务方法: 对列表中每个元素都做“事件A” 处理完列表后做“事件B” ...

2019-03-30 23:14:35 491 0

原创 为什么要学Java8、java8新特性、新思想

Java8发生的变化比历史上任何一次变化都要影响深远,而且让你的编程更加容易。 1. java为什么要变? 因为编程语言千千万,他们就像一个生态系统一样,新的语言会出现,旧的语言会被取代,除非它不断地演变,能跟上节奏;同理,java也是取代了竞争对手语言,且根据编程市场不断演变才能一直存...

2019-03-30 19:40:32 300 0

原创 接口与抽象类的区别和存在意义

接口和抽象类的区别在面试中问的比较广泛,同时也是开发者必须要明白的基础性知识,下面就来捋一下: 1.从 特征上比较 (1)接口可被类实现(implement),也可以被接口扩展继承(extends),抽象类只能被子类继承(extends)。 (2)接口只能有方法声明和不可变常量: 方法声明:...

2019-03-29 17:20:21 230 0

原创 TortoiseGit连接Github

前提:在Github上已经有了个人账户 详细步骤: 1.本地安装git和TortoiseGit工具 2.在github上新建一个项目training 3.同时在电脑端新建文件夹“training”(或者拿已经存在的项目的文件夹) 4. 右击要文件夹,点选 Git在这里创建版本...

2019-02-16 10:28:29 524 0

原创 浅谈Web请求过程

1B/S网络架构 1.1 为什么使用该架构(好处) 随着Web2.0时代的到来,互联网架构,由传统的C/S架构(Client/Server)逐渐过渡到B/S架构(Browser/Server),B/S架构带来的好处: (1) 客服端使用统一浏览器。一方面,浏览器具有统一性,从而有效屏蔽了不同...

2019-01-13 21:49:35 341 1

原创 FindBugs常见错误介绍、分析、处理

FindBugs简单了解 FindBugs-IDEA是个好东西,它是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visit...

2018-12-27 10:35:00 1591 0

原创 日志Log精讲

1日志为什么要存在        我们平时写的工具或应用程序,可以通过人眼查看调试来查看运行过程中出现的错误,可以通过system.out.println()来输出程序运行状态信息查看。        (1)那么,一个庞大复杂的项目,含有大量的接口和方法,执行过程冗长繁杂,还要使用上述的办法来...

2018-09-29 13:12:29 573 0

原创 java设计模式 - 策略模式

设计一个小游戏 需求 * 要设计这样一个应用小游戏,游戏里面有不同类的任务,他们通过战斗打架赢得胜利,这些人物通过使用武器和使用法术战斗。 * 所有的人物都可以以超声速的速度奔跑; * 其中国王擅长使用长剑,并且还会一种赤火焰神术,并且拥有学习能力,每次战斗之后都可以学习到对方的法术; * ...

2018-09-04 20:12:51 303 0

原创 java设计模式-观察者模式

1.观察者模式 观察者模式(Observer),即多个观察者对象监听一个共同的主题对象,是一种一对多的依赖关系。当被观察的主题对象发生改变时,会通过回掉函数通知所有关注自己的观察者,观察者会主动根据接受到的通知消息更新自己。 观察者模式属于行为型模式,又叫发布-订阅(Publish/Subsc...

2018-08-28 18:14:05 294 0

原创 认识url结构

都知道,url是统一资源定位符(Uniform Resource Locator),是一串文本字符。 举个一个经典的url例子:https://cn.bing.com/search?q=java#b_footer 那么这个url可以分为五部分:portocol + host + path + ...

2018-08-16 19:41:53 406 0

原创 Java开发需要懂的Linux基础

跳过前面的部分,直接查看【Linux常用操作命令】 1.简介 【起源】林纳斯·托瓦兹(芬兰)出于个人爱好编写了一套程序,后来在1991年10月5日发布了Linux内核,而内核+用户空间应用程序就是Linux系统。 【简述】Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于PO...

2018-02-10 18:00:08 680 0

原创 java 加载https/http/本地类型路径的图片

一个读取网络路径和本地路径 图片的例子(亲测可用) 需求: 1.读取https、http类型,以及本地类型的图片。 其中,加载https类型的图片时不能沿用http的获取方法,否则会报“unable to find valid certification path to requested...

2018-02-03 09:27:19 5225 0

原创 样本数据相似性距离度量算法

1. 欧氏距离 2. 曼哈顿距离 3. 切比雪夫距离 4. 闵可夫斯基距离 5. 标准化欧氏距离 6. 马氏距离 7. 夹角相似距离 8. 汉明距离 9. 杰卡德距离 & 杰卡德相似系数 10. 相关系数 & 相关距离 11. 信息熵 12.皮尔逊相关系数 13.编辑距离 14...

2017-11-15 16:02:03 3038 0

原创 Java开发:开源框架面试总结

      此篇文章是应届生临时总结的Java开发面试开源框架部分:主要总结了主要的几个点,便于回答,用于有一定Java基础的同学面试所用,由于是面试问题,所以内容多有不详尽之处。       学习一个技术要明白几个点:这个技术是什么?有什么特点?怎么使用?什么时候使用?这是学一个技术的态度问题...

2017-11-04 15:03:29 3154 0

原创 Java集合面试总结

★★★★★集合框架:用于存储数据的容器。 特点: 1:对象封装数据,对象多了也需要存储。集合用于存储对象。 2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合。因为集合是可变长度的。 集合和数组的区别: 1:数组是固定长度的;集合可变长度的。 2:数组可以存储基本数据类...

2017-10-28 22:01:38 14748 4

原创 Socket网络编程基础

1 网络编程简述 端口       物理端口:      逻辑端口:用于标识进程的逻辑地址,不同进程的标识;有效端口:0~65535,其中0~1024系统使用或保留端口。 java 中ip对象:InetAddress.      importjava.net.*; class IPD...

2017-10-06 14:16:20 560 0

转载 Java集合基础总结

本文仅分析部分原理和集合类的特点,不分析源码,旨在对java的集合类有一个整体的认识,理解各个不同类的关联和区别,让大家在不同的环境下学会选择不同的类来处理。 Java中的集合类包含的内容很多而且很重要,很多数据的存储和处理(排序,去重,筛选等)都需要通过集合类来完成。 首先java中集合类主...

2017-09-18 17:33:38 1059 0

原创 索引和视图

索引 索引可以分为唯一索引、非唯一索引和聚簇索引三种类型 一、索引的概念: 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,在数据十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行...

2017-09-16 19:23:36 773 0

原创 数据库事务处理:事务基本特性、锁和数据库恢复技术

数据库运行故障: 事务故障(可以利用日志文件撤消此事务对数据库已进行的修改) 系统故障 介质故障(重装数据库,然后利用备份或镜像设备恢复数据库。)

2017-09-16 18:50:10 1100 0

原创 SQL语句面试题目:多表查询、SQL约束、DDL、DML

1 SQL语句多表查询 例如:按照 department_id 查询 employees(员工表)和 departments(部门表)的信息。  方式一(通用型):SELECT ... FROM ... WHERE  SELECT e.last_name,e.department_id,d....

2017-09-16 16:15:52 3259 5

转载 Mysql数据库 常用操作语句

MySQL数据库是一个十分轻便的数据库管理系统,相比大型的数据库管理系统如Oracle、MS-SQL ,MySQL更拥有轻便、灵活、开发速度快的特色,更适用于中小型数据的存储与架构。MySQL之所以能够被数以万计的网站采用,也是由此而来。   个人感觉开源轻量级的数据库也有大内容,从5版本以后...

2017-09-16 12:17:11 1432 0

原创 SQL语句面试题目:一般查询和高级子查询

几个表 employees 表:  EMPLOYEE_ID              NUMBER(6)  FIRST_NAME                VARCHAR2(20)  LAST_NAME                 VARCHAR2(25)  EMAIL    ...

2017-09-16 11:15:57 20164 30

转载 Linux常用命令大全(新手入门)

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT ...

2017-09-13 21:26:08 16688 0

原创 IP地址划分、子网划分、ARP地址解析协议和RARP逆地址解析协议

网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一,与 IP 协议配套使用的还有四个协议: Ø  地址解析协议 ARP (Address Resolution Protocol) Ø  逆地址解析协议 RARP (Reverse Address Resolution Protoco...

2017-09-13 13:35:35 1329 2

原创 (运输层)TCP协议、滑动窗口机制、TCP连接建立(三次握手)

一 、应用进程之间的通信 Ø  两个主机进行通信实际上就是两个主机中的应用进程互相通信。 Ø  应用进程之间的通信又称为端到端的通信。 Ø  运输层的一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。 Ø  “运输层提供应用进...

2017-09-11 17:23:36 2512 0

原创 OSI参考模型和TCP/IP体系结构

【如何划分层次,每层主要干什么】 OSI参考模型结构划分和各层作用 TCP/IP协议并不完全符合OSI(开放式系统互连参考模型)的七层参考模型。传统的OSI(开放式系统互连参考模型),是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信...

2017-09-09 12:43:56 3096 0

原创 Java并发编程:(5)线程池解析

思考这样一个问题: 如果并发线程数量多,且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 本节所要说的【线程池】就可...

2017-09-08 15:24:48 835 0

原创 Java并发编程:(4)volatile关键字的使用

volatile关键字是与Java的内存模型有关的,因此需要先了解一下与内存模型相关的概念和知识,再去分析volatile关键字的实现原理和应用场景。 发音:英[ˈvɒlətaɪl] 美[ˈvɑ:lətl] ...

2017-09-06 19:32:14 1108 0

原创 Java并发编程:(3)synchronized和Lock

1 线程安全问题 思考这样一个问题: 单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现多个线程同时访问同一个临界资源(或共享资源:一个变量、一个对象、一个文件、一个数据库表)情况,多个线程并发执行过程不可控,很可能导致最终的结果与实际上的愿望相违背或者直接导致程序出错。 ...

2017-09-06 15:58:47 624 0

原创 Java并发编程:(2)线程状态和Thread类详解

1 线程状态 线程从创建到最终的消亡整个生命周期要经的状态: 创建(new)、就绪(runnable)、运行(running)、阻塞(blocked、time waiting、waiting)、消亡(dead) 1)创建(new): 当需要新起一个线程来执行某个子任务时...

2017-09-05 12:46:19 970 0

原创 Java并发编程:(1)进程和线程的由来、进程的创建、线程的创建

1 进程和线程的由来 1 起初,为了提高一个时间段内CPU的利用率,允许多个任务程序进行切换,人们发明了进程,用进程来对应一个程序,每个进程对应一定的内存地址空间,并且只能使用它自己的内存空间,各个进程间互不干扰。并且进程保存了程序每个时刻的运行状态,这样就为进程切换提供了可能。当进程暂停...

2017-09-05 12:29:58 843 0

转载 JAVA并发与多线程 面试题目

  多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来应对日后碰到的问题。 1 Java多线程面试问题 1. 进程和线程之间有什么不同?      一个进程是一个独立(self cont...

2017-09-04 14:24:17 729 0

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