- 博客(39)
- 资源 (1)
- 收藏
- 关注
原创 看完让你彻底理解 WebSocket 原理,附完整的实战代码(包含前端和后端)
1、前言最近有同学问我有没有做过在线咨询功能。同时,公司也刚好让我接手一个 IM 项目。所以今天抽时间记录一下最近学习的内容。本文主要剖析了 WebSocket 的原理,以及附上一个完整的聊天室实战 Demo (包含前端和后端,代码下载链接在文末)。2、WebSocket 与 HTTPWebSocket 协议在2008年诞生,2011年成为国际标准。现在所有浏览器都已经支持了。We...
2018-07-21 19:07:47
8956
3
原创 记录某公司(简称SMKJ) 的一次面试
昨天去了一家公司面试 Java 开发岗位,这篇文章主要是做一个面试的记录以及总结。这家公司的规模大概100-200人,环境还可以,在一栋大厦租了两层办公室(31层和32层)。一同搭电梯上去的还有一位去应聘测试岗位的妹纸�� 这里要吐槽一下该公司的前台,由于跟HR约好了是在31楼面试,我和测试妹纸都去了31楼的前台,31楼的前台直接让我们去楼上找32楼的前台,32楼的前台找了楼下31楼的面试官,...
2018-03-31 17:50:33
650
原创 记录某公司(简称SMKJ) 的一次面试
昨天去了一家公司面试 Java 开发岗位,这篇文章主要是做一个面试的记录以及总结。这家公司的规模大概100-200人,环境还可以,在一栋大厦租了两层办公室(31层和32层)。一同搭电梯上去的还有一位去应聘测试岗位的妹纸�� 这里要吐槽一下该公司的前台,由于跟HR约好了是在31楼面试,我和测试妹纸都去了31楼的前台,31楼的前台直接让我们去楼上找32楼的前台,32楼的前台找了楼下31楼的...
2018-03-31 17:50:06
427
原创 Hibernate的继承映射
对象模型示例:继承映射的实现方式有以下三种:(一)每棵类继承树一张表(二)每个类一张表(三)每个子类一张表(一)每棵类继承树一张表关系模型如下:映射文件如下:<hibernate-mapping package="com.nnngu"> <class name="Animal" table="t_animal" lazy="false">
2018-03-23 22:35:55
179
原创 Hibernate的继承映射
对象模型示例:继承映射的实现方式有以下三种:(一)每棵类继承树一张表(二)每个类一张表(三)每个子类一张表(一)每棵类继承树一张表关系模型如下:映射文件如下:<hibernate-mapping package="com.nnngu"> <class name="Animal" table="t_animal" la...
2018-03-23 22:35:47
194
原创 Hibernate的关联映射
首先我们了解一个名词ORM,全称是(Object Relational Mapping),即对象关系映射。ORM的实现思想就是将关系型数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。Hibernate正是实现了这种思想,达到了方便开发人员以面向对象的思想来实现对数据库的操作。Hibernate在实现ORM功能的时候主要用到的文件有:映射类(*...
2018-03-23 19:38:51
212
原创 Hibernate的关联映射
首先我们了解一个名词ORM,全称是(Object Relational Mapping),即对象关系映射。ORM的实现思想就是将关系型数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。Hibernate正是实现了这种思想,达到了方便开发人员以面向对象的思想来实现对数据库的操作。Hibernate在实现ORM功能的时候主要用到的文件有:映射类...
2018-03-23 19:38:35
188
原创 Spring的编程式事务和声明式事务
事务管理对于企业应用来说是至关重要的,当出现异常情况时,它也可以保证数据的一致性。Spring事务管理的两种方式spring支持编程式事务管理和声明式事务管理两种方式。编程式事务使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。声明式事务是建立在AOP...
2018-03-22 23:21:09
233
原创 Spring的编程式事务和声明式事务
事务管理对于企业应用来说是至关重要的,当出现异常情况时,它也可以保证数据的一致性。Spring事务管理的两种方式spring支持编程式事务管理和声明式事务管理两种方式。编程式事务使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。声明式事...
2018-03-22 23:20:52
237
原创 Java过滤器Filter的使用详解
过滤器过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。如下图,浏览器发出的请求先递交给第一个filter进行过滤,符合规则则放行,递交给filter链中的下一个过滤器进行过滤。过滤器在链中的顺序与它在web.xml中配置的顺序有关,配置在前的则位于链的...
2018-03-22 20:24:34
1331
原创 Java监听器Listener的使用详解
监听器用于监听Web应用中某些对象的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当监听范围的对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。常用于统计网站在线人数、系统加载时进行信息初始化、统计网站的访问量等等。分类:按监听的对象划分可以分为:ServletContext对象的监听器HttpSession对象的监听器ServletRe...
2018-03-22 18:50:27
25130
1
原创 JSP 和 Servlet 的工作原理和生命周期
JSP的英文名叫Java Server Pages,翻译为中文是Java服务器页面的意思,其底层就是一个简化的Servlet设计,是由sum公司主导参与建立的一种动态网页技术标准。Servlet 就是 Java 编程语言中的一个类,它被用来扩展服务器的性能。JSP的执行过程和生命周期JSP的执行过程和生命周期,如下图:Servlet的生命周期Servlet的生命周期主要...
2018-03-22 17:24:40
1137
原创 经典Java面试题收集(二)
经典的Java面试题(第二部分),这部分主要是与Java Web和Web Service相关的面试题。96、阐述Servlet和CGI的区别?答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。...
2018-03-15 05:09:01
388
原创 经典Java面试题收集(二)
96、阐述Servlet和CGI的区别?答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。 补充:Sun Microsystems公司在1996年发布Servlet技术就是为了和CGI (Commo...
2018-03-15 05:07:21
146
原创 经典Java面试题收集(二)
96、阐述Servlet和CGI的区别?答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。 补充:Sun Microsystems公司在1996年发布Servlet技术就是为了和CGI (Commo...
2018-03-15 05:07:06
189
原创 经典Java面试题收集
1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延...
2018-03-14 09:32:28
147
原创 经典Java面试题收集
1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延...
2018-03-14 09:26:07
147
原创 经典Java面试题收集
1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延...
2018-03-14 09:22:47
489
原创 经典Java面试题收集
1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性...
2018-03-14 09:15:37
260
原创 百度搜索 “Java面试题” 前200页(面试必看)
前言本文中的题目来源于网上的一篇文章《百度搜索 “Java面试题” 前200页》,但该文章里面只有题目,没有答案。因此,我整理了一些答案发布于本文。本文整理答案的原则是尽量做到精简、点到即止(因为一般面试题的试卷里面的作答区域有限)。如果你有更好的答案,欢迎在评论区指出,或者给Github仓库提PR。本文永久更新地址:https://github.com/nnngu/LearningNot...
2018-03-05 16:37:48
686
原创 百度搜索 “Java面试题” 前200页(面试必看)
前言本文中的题目来源于网上的一篇文章《百度搜索 “Java面试题” 前200页》,但该文章里面只有题目,没有答案。因此,我整理了一些答案发布于本文。本文整理答案的原则是尽量做到精简、点到即止(因为一般面试题的试卷里面的作答区域有限)。如果你有更好的答案,欢迎在评论区指出,或者给Github仓库提PR。本文永久更新地址:https://github.com/nnngu/LearningNotes/b...
2018-03-05 16:31:26
2716
原创 Spring MVC的配置和使用
笔记仓库:https://github.com/nnngu/LearningNotes Spring MVC需要的jar包文章中 Spring MVC 使用的版本是 3.2.18 , 需要的 jar 包如下:spring-webmvcjstl 1.1.2aopalliance 1.0commons-logging 1.1.1spring-aopspring-be...
2018-02-13 16:37:30
158
原创 用js实现2048小游戏
用js实现2048小游戏笔记仓库:https://github.com/nnngu/LearningNotes 1、游戏简介2048是一款休闲益智类的数字叠加小游戏。(文末给出源代码和演示地址)2、游戏玩法在 4*4 的16宫格中,您可以选择上、下、左、右四个方向进行操作,数字会按方向移动,相邻的两个数字相同就会合并,组成更大的数字,每次移动或合并后会自动增加一个数字。当16宫格中没有空格子...
2018-02-12 09:48:41
10740
原创 用js实现2048小游戏
笔记仓库:https://github.com/nnngu/LearningNotes 1、游戏简介2048是一款休闲益智类的数字叠加小游戏。(文末给出源代码和演示地址)2、游戏玩法在 4*4 的16宫格中,您可以选择上、下、左、右四个方向进行操作,数字会按方向移动,相邻的两个数字相同就会合并,组成更大的数字,每次移动或合并后会自动增加一个数字。当16宫格中没有空...
2018-02-12 09:34:52
1798
原创 Struts2的配置和一个简单的例子
笔记仓库:https://github.com/nnngu/LearningNotes 简介这篇文章主要讲如何在 IntelliJ IDEA 中使用 Struts2,文章使用的 Struts2 的版本是2.5.14.1,与其他的版本有一点差别,在文章里已经说明。环境IntelliJ IDEA 2017.2.6jdk1.8.0_101Tomcat 8.0.38...
2018-02-10 13:19:07
185
原创 基于 React + Webpack 的音乐相册项目(下)
笔记仓库:https://github.com/nnngu/LearningNotes 上一篇完成了音乐相册里面的相册功能,这一篇主要总结的是音乐相册里面的音乐播放器功能。数据准备在src/data目录添加音乐数据文件:musicDatas.js代码如下:export const MUSIC_LIST = [ { id: 1, title: '...
2018-02-09 06:52:46
386
原创 基于 React + Webpack 的音乐相册项目(下)
笔记仓库:https://github.com/nnngu/LearningNotes 上一篇完成了音乐相册里面的相册功能,这一篇主要总结的是音乐相册里面的音乐播放器功能。数据准备在src/data目录添加音乐数据文件:musicDatas.js代码如下:export const MUSIC_LIST = [ { id: 1, title: '童话镇', arti...
2018-02-09 06:46:55
477
原创 基于 React + Webpack 的音乐相册项目(上)
笔记仓库:https://github.com/nnngu/LearningNotes 上一篇文章用爬虫自动下载了一些图片,这一篇就用这些图片做一个音乐相册吧!效果预览点击图片,切换到背面:演示地址演示地址:https://nnngu.github.io/MusicPhoto/环境搭建1、安装 npm,安装成功后,在终端输入 npm -v 可以...
2018-02-08 09:30:05
208
原创 基于 React + Webpack 的音乐相册项目(上)
笔记仓库:https://github.com/nnngu/LearningNotes 上一篇文章用爬虫自动下载了一些图片,这一篇就用这些图片做一个音乐相册吧!效果预览点击图片,切换到背面:演示地址演示地址:https://nnngu.github.io/MusicPhoto/环境搭建1、安装 npm,安装成功后,在终端输入 npm -v 可以查看它的版本。2、安装generator-rea...
2018-02-08 09:29:01
503
原创 如何用Python爬虫实现百度图片自动下载?
Github:https://github.com/nnngu/LearningNotes制作爬虫的步骤制作一个爬虫一般分以下几个步骤:分析需求分析网页源代码,配合开发者工具编写正则表达式或者XPath表达式正式编写 python 爬虫代码效果预览运行效果如下:存放图片的文件夹:需求分析我们的爬虫至少要实现两个功能:一是搜索图片,二是自
2018-02-03 22:13:10
1084
1
原创 通俗易懂的分析如何用Python实现一只小爬虫,爬取拉勾网的职位信息
源代码:https://github.com/nnngu/LagouSpider效果预览思路1、首先我们打开拉勾网,并搜索“java”,显示出来的职位信息就是我们的目标。2、接下来我们需要确定,怎样将信息提取出来。查看网页源代码,这时候发现,网页源代码里面找不到职位相关信息,这证明拉勾网关于职位的信息是异步加载的,这也是一种很常用的技术。异步加载的信息,我们需要
2018-02-03 06:50:26
1840
原创 通俗易懂的分析如何用Python实现一只小爬虫,爬取拉勾网的职位信息
源代码:https://github.com/nnngu/LagouSpider效果预览思路1、首先我们打开拉勾网,并搜索“java”,显示出来的职位信息就是我们的目标。2、接下来我们需要确定,怎样将信息提取出来。查看网页源代码,这时候发现,网页源代码里面找不到职位相关信息,这证明拉勾网关于职位的信息是异步加载的,这也是一种很常用的技术。异步加载的信息,我们需要借助 chrome 浏览器的开发...
2018-02-03 06:45:11
349
原创 03 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之web层
Github:https://github.com/nnngu 项目源代码:https://github.com/nnngu/nguSeckill 前端交互流程设计对于一个系统,需要产品经理、前端工程师和后端工程师的参与,产品经理将用户的需求做成一个开发文档交给前端工程师和后端工程师,前端工程师为系统完成页面的开发,后端工程师为系统完成业务逻辑的开发。对于我们这个秒杀系统,它的前端交互流程设计...
2018-02-01 06:21:51
195
原创 02 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之Service层
Github:https://github.com/nnngu 项目源代码:https://github.com/nnngu/nguSeckill 首先在编写Service层代码前,我们应该首先要知道这一层到底是干什么的。Service层主要负责业务模块的逻辑应用设计。同样是首先设计接口,再设计其实现的类,接着在Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用Service...
2018-01-31 07:43:46
366
原创 04 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之高并发优化
Github:https://github.com/nnngu 项目源代码:https://github.com/nnngu/nguSeckill 关于并发并发性上不去是因为当多个线程同时访问一行数据时,产生了事务,因此产生写锁,当一个获取了事务的线程把锁释放,另一个排队线程才能拿到写锁,QPS(Query Per Second每秒查询率)和事务执行的时间有密切关系,事务执行时间越
2018-01-31 07:39:31
295
原创 03 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之web层
Github:https://github.com/nnngu 项目源代码:https://github.com/nnngu/nguSeckill 前端交互流程设计对于一个系统,需要产品经理、前端工程师和后端工程师的参与,产品经理将用户的需求做成一个开发文档交给前端工程师和后端工程师,前端工程师为系统完成页面的开发,后端工程师为系统完成业务逻辑的开发。对于我们这个秒杀系统,它的前端
2018-01-30 08:45:54
148
原创 01 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之业务分析与DAO层
Github:https://github.com/nnngu 项目源代码:https://github.com/nnngu/nguSeckill 这是一个整合IDEA+Maven+SSM框架的高并发的商品秒杀项目。我们将分为以下几篇文章来进行详细的讲解:01 Java高并发秒杀项目之业务分析与DAO层02 Java高并发秒杀项目之Service层03 Java高并发秒杀项目之web层...
2018-01-30 02:29:20
184
原创 02 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之Service层
作者:nnngu 项目源代码:https://github.com/nnngu/nguSeckill首先在编写Service层代码前,我们应该首先要知道这一层到底是干什么的。Service层主要负责业务模块的逻辑应用设计。同样是首先设计接口,再设计其实现的类,接着在Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口来进行业务处理。Service层的
2018-01-29 08:31:08
267
原创 01 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之业务分析与DAO层
作者:nnngu 项目源代码:https://github.com/nnngu/nguSeckill这是一个整合IDEA+Maven+SSM框架的高并发的商品秒杀项目。我们将分为以下几篇文章来进行详细的讲解:01 Java高并发秒杀项目之业务分析与DAO层02 Java高并发秒杀项目之Service层03 Java高并发秒杀项目之web层04 Java高并发秒杀项目之高并发优
2018-01-28 10:35:21
455
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人