- 博客(44)
- 资源 (33)
- 收藏
- 关注
原创 【Java学习】基于Socket的多用户聊天Demo
继《Java网络通信基石Socket》,Socket理论的实战Demo 使用Java编写,基于Socket的多用户聊天Demo 一、设计思想多人聊天,,需要有一个服务器和多个客户端【服务器】时刻监听客户发送过来的消息,,并将消息发送到各个客户端。服务器需要有一下几个模块(端口,主机名就不用说) 【1】记录客户端的集合(需要从服务器端群发消息) 【2】循环,阻塞监听,,serverSocket.
2017-08-31 22:54:54 2167 3
原创 【java学习】Java网络通信基石Socket
“Http是web的基石,Socket是网络通信的基石”昨天回顾了下socket,在此对Socket进行简单的总结 一、网络通信三要素:【1】IP地址:唯一标识。 【2】协议:统一语言。 【3】端口号:区别不同程序通信。 二、IP地址:IP地址:表示唯一主机。 IPV4,A,B,C,D类,, 64位,组成,,(目前提出IPV6还未普遍使用) 三、TCP/IP: 【物理层】:网线,双绞线
2017-08-31 21:43:37 575
原创 【Java学习】java程序访问注册表(win10)
最近在问答社区碰到一个问题,,用java访问“HKEY_CURRENT_USER”目录的需求。查了很多资料,,终于搞定了,,在此做以记录。 一,java官方API(Preferences)首先,这个类用起来比较方便,,但是有许多限制,,只能访问“HKEY_LOCAL_MACHINE\SOFTWARE\Javasoft”,import java.util.prefs.Preferences;publ
2017-08-28 15:13:21 2868
原创 【算法学习】快速排序算法实现(Java)
快速排序是一个很经典的排序算法,,面试很喜欢问,十分重要,最近回顾了一下快排,用Java做以实现。 一,基本思想 快排,是基于分治策略的一种排序算法。(从小打到为例) 【1】选择一个基准 【2】分别从两头进行遍历,把大于基准的放在左边,小于基准的放在右边,最终把基准插入即可。 【3】分别对左右两块进行【1】【2】操作,,直至快中只有一个元素。有点负责,简化一下:“找基准,分两块,递归。”
2017-08-27 22:02:40 677
原创 【算法学习】求字符串中第一个出现最少的字符(java)
最近参加某公司二面,出了个算法题“求字符串中第一个出现最少的字符”,一时蒙了,,居然木有想出来,再加上没有熟悉的IDE没手感(真心感觉,敲java需要手感,哈哈可能我还很水)【方案1】原始方法(1)申请一个数组,与字符串等长 (2)循环字符串,对每个字符串进行(3)操作 (3)将字符与字符串中的所有字符进行比对(是否包含自身无所谓),并记录出现个数 (4)遍历统计统计结果,求得最少出现的(第一
2017-08-24 23:44:27 1125
原创 【词汇详解】HTTP的几个重要概念
查看链接: 【连接】【消息】【请求】【响应】【资源】【实体】【客户机】【用户代理】【服务器】【源服务器】【代理】【网关】【通道】【缓存】 【连接】:Connection 一个传输层的实际环流,它是建立在两个相互通讯的应用程序之间。 在http1.1,request和reponse头中都有可能出现一个connection的头,此header的含义是当client和server通信时对于长
2017-08-24 18:29:46 432
原创 【词汇详解】Http协议详解(一)发展历程
web开发中,,对于http协议的使用可以说是无处不在,,http协议本身也包含了大量的内容。有个问题很绕人: http协议是应用层的协议,传输层使用的是TCP协议,TCP协议是有连接协议,那么Http协议也是有连接协议??【个人理解】:网络分层的目的就是为了使各个层之间没有直接关系(这里指的是:服务与使用服务的关系,内部具体实现没有关系。) 再回头看看传输层的TCP是有连接协议,目的是为应用层
2017-08-24 14:57:31 1680
原创 【词汇详解】Session和Cookie详解
昨天 参加某公司二面,第一个问题就是“简单说一下Session和Cookie”,,答的是一塌糊涂,,恶补了一天,整理如下。 一,概念介绍 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.使用session时,服务器会自动给客户端发送一个sessionID,用以标识不同访问回话(没有使用session时,不会有这个标
2017-08-24 00:12:11 482
原创 【错误解决】Intellj(IDEA) warning no artifacts configured
今天像往常一样,在IDEA(Intellj)上新建了一个maven项目(webapp模板),,平时还好这的,,今天居然有毛病,,出现问题如下: warning no artifacts configured,,上面木有Artifacts的选项,,好尴尬, 【解决方案】artifacts,是maven中的概念(项目是maven项目),由于没有配置artifacts(1)打开项目构建配置页面 (2
2017-08-23 14:58:30 111214 17
原创 【算法学习】求两数组求差数(Java,三重境界)
【题目描述】:两个数组,一个A数组200个,,另一个B数组199个,两个数组乱序,但是差一个数,,,找出差的是那个数。 一。境界1(60分)【1】遍历A数组,对每个数执行【2】操作 【2】遍历B数组对比是否存在此数。参考代码如下:/** * Created by zsl on 2017/8/20. */public class Main { public static void m
2017-08-20 21:51:43 3825
原创 【算法学习】全排列算法(java实现)
偶尔刷题,经常遇到需要全排列的地方,一直想用for循环做(n层),理论上是可行的,,可是实际(两三层还行,十层八层,n层,不太合适吧),再次重温一下全排列算法。 【1】案例分析【百度百科】:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。 a,b,c,d的全排列如下(程序生成)a b c a
2017-08-20 21:20:06 2937 3
原创 【Tomcat线程池】线程池配置及线程分配测试
tomcat不用说,java做web比较经典的一款服务器,本片继上篇servlet详解及Tomcat中多线程下的Servlet(1)对Tomcat7和Tomcat8线程分配策略进行测试 一,设置tomcat线程池的一些参数 Tomcat目录下有个conf\service.xml <Executor name="tomcatThreadPool" namePrefix="zsl-catal
2017-08-17 15:32:07 5784
原创 【持续集成框架Jenkins】环境搭建(win10)
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。(凑个热闹玩一玩) 一。下载jenkins官方链接:http://Jenkins-ci.org/ 百度云链接:https://pan.baidu.com/s/1pLbTAw7(只有一个windows2.60.2的) 二。安装默认安装即可,
2017-08-14 16:41:39 2272
原创 【web前端学习】-- JS页面跳转
一。按钮式:<input name="pclog" type="button" value="GO" onClick="location.href='https://www.baidu.com/'"> 二。链接式:<a href="javascript:history.go(-1)">返回上一步</a><a href="<%=Request.ServerVariables("HTTP_REFER
2017-08-13 18:01:37 2342
原创 【框架学习】XML四种解析方案
目前比较有名的 xml解析方式有:(1)、DOM(2)、SAX(3)、JDOM(4)、DOM4J 一。DOM解析 DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于
2017-08-10 22:42:43 4235
原创 发现一个好玩的网页
Js玩的不是很溜,,不过,js近几年太火爆了这个页面,,那个时钟是由时钟吸附性的线条是由canvas-nest.js,,做的,, 网页代码如下:(js 屌啊)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
2017-08-10 22:31:10 3602 1
原创 【系统学习SpringBoot】springBoot +IDEA 热部署
真没想到,springboot也可以热部署,,,人性化哈哈。spring boot使用的是spring-boot-devtools是一个为开发者服务的一个模块。其原理用了classLoader 其中一个加载不变的类,另一个restart ClassLoader加载变得类。devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机)。会重启,,哎看来也木有多么玄乎,,只不
2017-08-09 23:48:28 1008
原创 【数据库学习】java使用Mongodb增删改查
一,下载驱动玩数据库,木有驱动,那怎么行,驱动下载链接 二,java 连接数据库就一句代码: // 连接到Mongodb服务 MongoClient mongoClient = new MongoClient("127.0.0.1", 27017); 三。增删改查,mongodb(1). 增: List<Document> list = new ArrayList<Docume
2017-08-08 17:53:06 572
原创 【数据库学习】MongoDB环境搭建配置及可视化工具使用(win10)
一。搭建MongoDB首先需要下载 mongoDB ,官网速度比较慢,用百度云吧。 百度云下载地址安装很简单,按照默认即可,记住安装路径需要配置环境变量配置完之后打开 cmd ,输入指令 这样需要每次打开命令行,开启mongodb service ,,,很麻烦,将他配置成 service,像mysql一样。可以自启动的。 二。配置service(1). 在mongoDB安装目下下新建一个
2017-08-08 17:43:58 742
原创 【数据库学习】nosql数据库介绍
学习了nosql数据库,感觉这东西确实太强大了,,(就连数据库的可视化工具都是灰常漂亮) 一。NoSQL数据库介绍 NoSQL(Not OnlySQL) 泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得
2017-08-08 17:10:10 1312
原创 java内存模型详解(JMM)
做 java 相关开发的,必须了解 JMM(java内存模型),(面试很喜欢问)。 一。 硬件内存模型物理机硬件的内存模型: 冯诺依曼体系结构核心思想是:“存储程序,程序控制”,,那么硬件至少需要有两个东西,程序就是控制器即软件控制, (1)内存 (存储) (2)处理器(控制) 但是,普通存储器读写速度比较慢(此处指的是持久存储且能大量存储,目前硬盘属于,廉价通用的存储器) 为了协调
2017-08-07 21:16:14 1077
原创 【框架学习】spring 事务处理原理
事务详解 spring,中处理事务主要是由三个接口完成(对于不同持久层可能有各自的实现方式。)org.springframework.transaction.PlatformTransactionManager;org.springframework.transaction.TransactionDefinition;org.springframework.transaction.Transa
2017-08-07 20:53:23 955
原创 【词汇详解】事务详解
数据库事务概念,什么是数据库事务? 事务(transaction)是由指逻辑上对数据的的一组操作, 这组操作要么一次全部成功,如果这组操作全部失败,是不可分割的一个工作单位。 数据库事务的四个基本性质(ACID) 1. 原子性(Atomicity) 事务的原子性是指事务是一个不可分割的工作单位,这组操作要么全部发生,否则全部不发生。 2. 一致性(Consistency) 在
2017-08-07 20:13:52 357
原创 【词汇详解】池机制详解
池机制,举个例子小超市卖东西,他不会说用户买一个,就去找厂商进一个,对吧。他会选择,进一批,放在库房,前台也会放多个,等着用户买。 前台的卖完了,去库房拿,库房的拿完了。才会去厂商进。聪明的你可能已经看懂了,,没错类似前台,仓库这就是所谓的池机制。 池机制是一种框架模式,线程池,连接池,是不是很熟悉,设计思想都是一样的。(1)系统会事先创建好数个线程(或者连接),等待用户使用, (2)用户使用
2017-08-07 09:52:58 687
原创 servlet详解及Tomcat中多线程下的Servlet(1)
servlet作为java web开发举足轻重的东西,在此总结一下对Servlet的学习(jsp也是servlet) 一。servlet生命周期 加载—>实例化—>服务—>销毁 加载由web服务器容器完成。init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次
2017-08-07 09:41:32 2744
原创 Ajax跨域访问
最近,学了springMVC,SpringBoot(两个都可以做web服务,收发http请求),心血来潮,想用Ajax访问这个服务不仅要在项目中使用ajax,,还要开两个服务器,,用ajax去访问,实现,任何地点的访问(哈哈说的有点大)但是ajax 访问其他服务器会出现跨域问题,在这里直接给出,博主的解决方案:错误代码:XMLHttpRequest cannot load http://localh
2017-08-06 22:48:00 455
原创 【系统学习SpringBoot】springBoot整合Mybatis
学了几天spring boot ,感觉spring boot整合了spring mvc 和spring的有点,,屏蔽了大量的配置文件(虽然spring可以使用注解,但是spring boot让配置更简单,让程序更简单,让整合变得很简单) 一。配置流程 (1). pom.xml 配置依赖 <?xml version="1.0" encoding="UTF-8"?><project xmln
2017-08-06 21:09:55 9215 2
原创 【框架学习】springMVC转json输出(fastjson)
fastjson,,,是十分流行的json解析工具,阿里巴巴的开源产品,十分好用。 一。配置流程 (1). 需要在 pom.xml 中配置 <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</group
2017-08-06 16:16:55 1127
原创 通过socket收发Http请求
话不多说,直接上代码package testSockate;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.ConnectException;import
2017-08-05 21:35:12 2604
原创 【系统学习SpringBoot】初见Thymeleaf之SpringBoot访问项目中的 jsp/html
网上提供了许多方法方法1 1 启动的类继承 extends SpringBootServletInitializer 2 重写configure方法 @Override protected SpringApplicationBuilder configure( SpringApplicationBuilder application) {
2017-08-05 21:24:27 5812
原创 HTTP学习总结
Http 是一种无状态的计算机网络通信的规则 一。http请求七个步骤(1). 建立TCP连接 (2). Web 浏览器向Web服务器发送请求命令 (3). Web浏览器发送请求头信息 (4). Web服务器应答 (5). Web服务器发送应答头信息 (6). Web服务器向浏览器发送数据 (7). Web服务器关闭TCP连接 二。http请求分为四部分Http请求的方法或动作,比
2017-08-04 21:58:18 343
原创 OGNL
OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 一。使用规则 OGNL可以直接调用,java的方法,…只能说 so强大……….^.^ 和 EL 类似
2017-08-04 21:21:17 351
原创 设计模式 -- 建造者模式和工厂(类)模式的区别
之前说过, 简单工厂模式 工厂方法模式 抽象工厂模式 建造者模式 以及 简单工厂模式、工厂方法模式和抽象工厂模式区别与联系建造者模式和工厂(类)模式很像,但是又不太一样建造者模式:使用时需要传入参数,即以构建为目的。 例如,通过配置文件进行构建一个对象,或者通过某些参数构建一个对象。 三种工厂模式:以创建为目的,通常使用get..()即可获取某种对象(部分需要传入参数,传入的参数
2017-08-04 21:09:39 1813
原创 【框架学习】Mybatis简解
mybatis 作为目前十分流行的持久层框架,比起hibernate有很大优势hibernate特点:hql,虽然说屏蔽了数据库差异,但是过于笨重,不方便进行sql优化,,特点比较”鸡肋“mybatis特点:轻便,对持久层进行轻量的封装,可直接使用sql语句进行查询,提供动态sql,强大的 resultMap。 一。一个简单的案例 mybatis-cfg.xml<?xml version=
2017-08-04 20:56:42 537
原创 【框架学习】AOP切面详解
spring、springMVC、SpringBoot这一系列对AOP都有很好的支持(其实都是Spring管理的) 一。概念(1)面向切面编程,实际上就是给某个方法(或者某些),做一个代理,,很抽象?代理模式详解 代理可以抽象出来,为类似方法进行代理,,从而降低代码量,(相同的功能,如关闭流什么的,只写一次,不仅方便维护,大大减少了工作量)(2)切点, 指的是,对那个方法进行代理,或者某些方法
2017-08-03 19:40:31 1763
原创 【系统学习SpringBoot】springBoot 入门篇
学了spring boot感觉 ,和springMVC在许多地方还是时分相似的,,请求处理都是使用@RequestMapping注解,但是启动方式上有很大不同,, springMVC是web项目,需要通过tomcat进行启动 springBoot则类似应用程序,使用main进行启动(SpringApplication.run()),哈哈这是表象,看了这个日志,才知道,springboot也是通过
2017-08-03 16:44:33 698
TempDemp.java
2020-08-08
Linux就该这么学
2017-10-24
web前端人形时钟
2017-09-11
java并发编程实战pdf及源码.rar(清晰)
2017-09-03
Spring技术内幕:深入解析Spring架构与设计原理.pdf(第二版)
2017-09-03
Python数据可视化编程实战(中文版).pdf
2017-09-01
python核心编程中文版(第二版).pdf(高清)
2017-09-01
Mysql技术内幕(第4版)高清pdf
2017-09-01
65个车牌号字符模板20*40
2017-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人