自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(267)
  • 资源 (22)
  • 论坛 (10)
  • 问答 (6)
  • 收藏
  • 关注

原创 Apollo-client加载数据解析

如需参考源码解析,请访问:https://gitee.com/lidishan/apollo-code-analysis阅读前声明:本文不做相关用法说明,只解析Apollo-client源码阅读本文前请参考《Apollo-client 初始化入口流程解析》上面解析到了initialize()初始化,其是通过ConfigService.getConfig()来加载数据,那这个调用方式是怎么加载的?见下面实时获取apollo配置解析ConfigService.getConfig()如何使用?例子如下

2021-07-24 22:54:55 44 1

原创 Apollo-client 初始化入口流程解析

如需参考源码解析,请访问:https://gitee.com/lidishan/apollo-code-analysis阅读前声明:本文不做相关用法说明,只解析Apollo-client源码apollo中有一个注解,接下来先看一下这个启动注解@EnableApolloConfig 为什么要使用这个注解?系统启动时,会检索对应xml配置信息,并拉取apollo数据在postProcessAfterInitialization阶段进行覆盖配置注解初始化流程如下:第一步:在启动类上添加注解@

2021-07-24 22:51:49 66 5

原创 Java插件扩展机制 - SPI

什么是SPISPI ,全称为 Service Provider Interface,是一种服务发现机制。其为框架提供了一个对外可扩展的能力。与 接口类-实现类 提供的RPC 方式有什么区别?传统的接口类实现形式为如下public interface AdOpFromApolloService {}public class AdOpFromDbServiceImpl implements AdOpFromDbService {}假设我们需要实现RPC,是怎么做的?RPC会在对应的接口

2021-07-24 17:05:21 48 2

原创 mybatis查询过程源码解析

本文只讲解mybatis的源码 ,不涉及过多的用法讲解,用法请百度。mybatis查询执行步骤(举SELECT分析)第一步:获取mapperProxy第二步:获取mapperMethod第三步:找到对应的执行类型(SELECT\UPDATE\INSERT\DELETE)第四步:查询前的缓存处理,判断是否需要从二级、一级缓存中取数据(先二级再一级)第五步:真正调用用jdbc调数据库,先预编译、再注入参数第六步:进行结果集解析填充...

2021-07-04 11:04:55 57

原创 Guava cache源码解析

下面源码地址为:https://gitee.com/lidishan/guava-code-analysis/blob/master/guava/src/com/google/common/cache/LocalCache.java涉及依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId>

2021-07-02 23:57:29 48 3

原创 三色标记法及跨代引用

参考链接:https://www.jianshu.com/p/12544c0ad5c1、https://juejin.cn/post/6859931488352370702前言垃圾回收算法有标记整理、标记清除、复制等。但是垃圾怎么标记处理?这就涉及到标记算法,下面会仔细讲解三色标记算法三色标记法什么是三色标记法?垃圾回收过程大致如下:- 第一步:根据标记算法找到对应的待回收对象- 第二步:根据对应的回收算法如标记整理、标记清楚等来进行回收已标记好的待回...

2021-06-26 17:41:44 405

原创 ByteBuddy基本用法

ByteBuddy是一种字节码技术框架,其广泛用于中间件

2021-06-20 22:01:56 106

原创 ThreadLocal原理解析

什么是ThreadLocal?ThreadLocal是线程本地副本,就是每个线程都会有自己私有的副本值,互不干扰。典型的一种空间换时间的做法。基本流程如下:第一步:首先通过threadLocal.set("xxxx")获取当前线程副本值-- 大体流程:获取当前线程->拿到当前线程的threadLocals变量->根据map是否有来设置值还是创建值第二步:通过threadLocal.get()直接获取当前线程的本地副本值-- 大体流程:获取当前...

2021-06-13 16:15:12 19

原创 线程池源码简析

本文不讲解线程池执行过程过状态的判断,如要阅读可留言索要源码分析代码基本流程:用一个AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0))的原子类来保存线程数量和线程池状态,共32位,高3位保存运行状态,低29位保存线程数量。其中根据运行状态和线程数量来判断是否需要添加工作线程池。然后调用addWork()创建工作线程Work,每个Work包含thread、firstTask、completedTasks。工作线程创建会调用r...

2021-06-05 01:01:42 344

原创 Xxl-Job调度器原理解析

项目解析源码地址:https://gitee.com/lidishan/xxl-job-code-analysisxxl-job版本:2.3.0Xxl-Job分为执行器、调度器。而我们平时的客户端就属于一个执行器,执行器启动的时候会自动注册到调度器上,然后调度器进行远程调度。调度器初始化过程步骤如下1 国际化相关配置参数: xxl.job.i18n=zh_CN,这里设置为中文简体2 初始化快线程fastTriggerPool、慢线程池slowTr...

2021-06-01 22:48:43 125

原创 Xxl-Job执行器原理解析

xxl-job版本:2.3.0Xxl-Job分为执行器、调度器。而我们平时的客户端就属于一个执行器,执行器启动的时候会自动注册到调度器上,然后调度器进行远程调度。执行器初始化过程步骤如下1通过加了@Conguration注解的XxlJobConfig初始化,并生成beanName=xxlJobExecutor的Bean2注册的BeanName=XxlJobConfig,会进行初始化,步骤如下:-扫描所有bean,加载加了@XxlJob注解类,并记录在job...

2021-05-31 22:49:40 492

原创 Spring @Configuration如何注入

业务代码一般用拦截器拦截注解,并作相应定义。但Spring的注解如@Conguration是通过XxxxPostProcessor来进行注入。@Configuration有独属的postProcessor处理器 -ConfigurationClassPostProcessor@Configuration作用及使用案例作用:类型以前的XML配置注入对应的Bean,将比如application.properties的属性注入到对应的Bean实体类使用案例(比如下面...

2021-05-29 21:48:22 484

原创 Redis AOF持久化原理解析

Redis版本:Redis 4.0.1Redis是一个键值对数据库服务器,存储在内存中,如果重启没进行持久化,数据会丢失。所以需要持久化策略RDB和AOF。涉及Redis源码解析:https://gitee.com/lidishan/redis-source-code-analysis/blob/master/src/aof.cAOF与RDB的区别- AOF保存Redis所执行的写命令来记录数据库状态,RDB是直接保存键值对数据- AOF纯文本,RDB二进制...

2021-05-27 23:25:58 285 2

原创 Redis RDB持久化原理解析

Redis版本:Redis 4.0.1Redis是一个键值对数据库服务器,存储在内存中,如果重启没进行持久化,数据会丢失。所以需要持久化策略RDB和AOF。涉及Redis源码解析:https://gitee.com/lidishan/redis-source-code-analysis/blob/master/src/rdb.c前提知识归纳RDB用于保存和恢复数据库所有键值对使用save或bgsave报错,其中bgsave是fork子进程不会造成阻塞rdb文...

2021-05-23 11:54:25 271

转载 Apollo客户端源码解析

本节主要对 Apollo 客户端设计原理进行解析。设计原理简要描述了 Apollo 客户端的实现原理注册bean spring启动时调用bean初始化 获取namespace并初始化配置并写一份配置到文件中,开启线程长轮训+定时拉取配置 添加监听listener 扫描字段、方法转化成SpringValue,保存在SpringValueRegistry中 http长轮训+定时拉取服务端配置 更新SpringValue准备工作利用EnableApolloConfig...

2021-05-17 21:57:48 286

原创 Redis服务端初始化流程

参考链接:https://redissrc.readthedocs.io/en/latest/init/server.html https://www.jianshu.com/p/1166288c6d32?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation https://bl...

2021-05-16 09:10:21 771

原创 Redis对象及其类型与编码

Redis对象包含多种数据结构和类型,其组成如RedisObjecttypedef struct redisObject { unsigned type:4;// 类型:字符串、列表、哈希、集合、有序集合 /** * 编码:long类型的整数、embstr编码的简单动态字符串、简单动态字符串、字典、双端链表、压缩列表、整数集合、跳表 * ** 不同类型对应的编码 * **** 字符串:long类型的整数、embstr编码的简单动态字符串、简单...

2021-05-15 19:52:23 403

原创 Redis压缩列表ziplist的实现

参考链接:-- 《Redis设计与实现》-- 源码解析:https://www.cnblogs.com/yinbiao/p/11249161.html关键代码位置:src/ziplist.c数据结构概述说明:-ziplist是 列表list 或 hash 的底层实现之一,只有数据量小的时候才会用,举个例子如下:-- hash结构:键值均<64字节 && 键值对数量 < 512-目的是为了节省内存,在数据量少的时候就省内存。由一系列特...

2021-05-14 21:26:19 419

原创 Redis整数集合的实现

参考链接:-- 《Redis设计与实现》-- 源码解析:https://www.cnblogs.com/yinbiao/p/11249161.html--结构说明:https://redissrc.readthedocs.io/en/latest/compress-datastruct/intset.html关键代码位置:src/intset.c数据结构概述说明:-是集合的底层实现之一-底层实现是数组(连续的内存结构),有序、无重复-整数集合类型可升级(16位-&...

2021-05-09 18:36:46 551

原创 Redis跳表数据结构

参考链接:-- 《Redis设计与实现》-- 源码解析:https://www.cnblogs.com/yinbiao/p/11238374.html关键代码位置:src/ t_zset.c时间复杂度:O(logN)数据结构概述说明:-每个跳表层高1~32层-跳跃表是有序集合的实现之一-按照分值升序排序其核心结构源码如下:typedef struct zskiplistNode {// 保存当前跳跃表的节点信息 sds ele;...

2021-05-08 21:47:37 31

原创 Redis字典数据结构

参考链接:-- 源码解析:https://www.cnblogs.com/yinbiao/p/10766357.html--结构说明:https://redissrc.readthedocs.io/en/latest/datastruct/dict.html关键代码位置:src/dict.h字典是一种键值对映射,但C语言无这种数据结构,Redis自己实现了一套。另外字典是hash的底层实现之一。数据结构概述说明:- ht数组有两个元素,没有rehash情况下,默认...

2021-05-08 21:44:22 158

原创 Redis列表数据结构

关键代码位置:src/adlist.h列表作为一种常用的数据结构,Redis也有,其数据结构含:- 头节点、尾节点、节点值复制函数、节点值释放函数、节点值对比函数、链表长度记录、dup复制函数、free释放函数、match匹配函数相关函数如下(随便看下就好了):源码分析如下:typedef struct listNode { // 前置节点 struct listNode *prev; // 后置节点 st...

2021-05-08 21:40:29 138

原创 RocketMQ设计原理简析

参考连接:https://github.com/apache/rocketmq/tree/master/docs/cn一、消息存储1消息存储整体架构CommitLog:消息主体以及元数据的存储主体(可包含多个topic)-- 定长,文件默认1G,文件名为20位,为偏移量的数值来命名。文件顺序写(性能几乎等于内存读)。---- 比如第一个文件名:00000000000000000000,由于第一个文件大小为1G=1073741824,第二个文件名应该为:00...

2021-04-27 23:05:43 152

原创 Skywalking启动加载过程

搭建文档:https://www.jianshu.com/p/ec8ef2b91e92本次讲解版本:apache-skywalking-apm-8.5.01 Skywalking整体架构主要组成:UI(数据显示)、Storage(存储层)、Agent(客户端数据收集)、OAP(服务端数据接受处理)2源码解析如下首先skywalking用的是javaagent技术,入口为:org.apache.skywalking.apm.agent.SkyWalkingAge...

2021-04-24 15:36:59 238

原创 Redis常用数据结构及其场景归纳

1 mset、mget、msetnx批量处理字符串更新、获取、加锁场景:文章的标题、内容、作者等多个key 批量发布和查看(对于这种可以直接用序列化反序列化。。)2 strlen、getrange统计文章字数、预览文章(截取文章)场景:博客字数统计和文章预览3 append拼接字符串场景:日志拼接(也是很少用)4 hset、hget场景:记录生成次数5 lindex、lset、linsert、ltrim、lrem、lpus...

2021-04-18 10:30:11 411

原创 Redis String底层数据结构

参考链接: https://www.jianshu.com/p/160fb0f73841如想看源码就看上面的链接就好~~~~~~~~~~~~~~~~~~~1 Redis底层存储是一个hash结构,与HashMap差不多,都是一个数据+链表组成的,然后拉链法解决冲突2 其hash节点含key、value、next指针,如下:/** 哈希表节点*/typedef struct dictEntry {// 键void *key;// 值...

2021-04-18 10:23:13 70

原创 Mybatis执行流程

1 mapper接口和映射文件如何绑定解析mapper配置信息,比如package配置、全限定名xml映射等方式,解析xml并将其与对应的mapper接口映射起来,用一个hashmap(knownMappers)映射起来。然后遍历Mapper接口中所有方法,将每个方法的全限定名作为key存在mapperStatements中。注意点:同一个value会存储2次,一个全限定名作为key,另一个就是只用方法名(sql语句的id)来作为key。 所以如果全局只存在一个方法名,就可以直接...

2021-02-12 13:38:45 72

原创 SQL执行计划简述

SQL执行计划分析索引的执行计划主要可以根据EXPLAIN SELECT * FROM xxxx 来看1 type下面以 const>ref>range>index>all,其中级别能达到const、ref都很好,range看筛选出来情况,如果筛出10w条数据那就坑了(另外主键/唯一索引 用 IS NULL,type=ref,二级索引是type=ref_or_null)-- MySQL版本:5.7.22-- 等值查询EXPLAIN SELECT.

2021-02-10 09:28:47 67 1

原创 数据库死锁产生原因及场景

什么是数据库死锁?两个或以上事务同时对一批资源占用锁,并形成循环,就会造成事务死锁,一般报错如下:com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction1 插入场景:(user_id和pool_id是联合唯一索引)场景:有一个job,定时会查出一批数据,然后分页,每页一千条数据.

2021-02-10 00:25:31 248

原创 Spring解决循环依赖问题

1 Spring解决循环依赖问题(可以用@Lazy解决)?A依赖于B,B依赖于C,C依赖于A。仅能解决单例非构造方法注入的循环依赖,通过三级缓存singletonObjects、earlySingletonObjects、singletonFactories来提前曝光获取(即对应bean实例被创建出来但其属性没有被设置好的情况下就去提前获取)来解决循环依赖。什么是循环依赖?A、B类直接或间接相互引用什么情况下循环依赖可被解决?1 必须都是单例2 依赖注入的方式不能全是构..

2021-02-09 23:16:21 74

原创 ScheduledExecutorService原理解析

ScheduledExecutorService是基于DelayQueue,所以要先对DelayQueue做讲解DelayQueue 内部实现参考链接:https://www.zybuluo.com/mikumikulch/note/712598延迟阻塞队列 = 阻塞队列 + 延迟获取任务功能举个例子,DelayQueue可通过重写compareTo来处理排序private static DelayQueue<DelayTask> delayQueue = ne...

2020-09-26 14:52:30 856

原创 Mybatis打印完整日志插件

配置日志打印其实挺烦的,而且很多打印的SQL是待占位符,比如:SELECT * FROM xxx WHERE id = ?这样子看起来比较麻烦还有一个问题就是如果要打印这个,那就需要每次都在自己本地改下代码,可能还需要根据不同项目做不同配置,具体的通用配置链接可参考如下:https://blog.csdn.net/fangzefeng_911/article/details/79697724综合如上不如用IDEA的插件,优点如下:1 无须更改代码配置2 可打印完..

2020-09-26 09:29:44 384

原创 Paxos与ZAB、Raft对比

什么是Raft?Raft一种用来管理日志复制的一致性算法分为三个角色:leader(集群主节点)、follower(跟随节点)、candidate(无leader情况下会有follower升级为这个)升级顺序:follower->candidate->leader (不能跨级别晋升)选举过程:- 服务刚启动全部都是follower角色,并经过一段时间才会有follower成为candidate(避免出现多个candidate分散选票),另外raft会把日志写入...

2020-09-20 09:59:38 460

原创 RabbitMQ推拉模型

聊聊消息中间件的Push模型和Pull模型RabbitMQ两种模式都有,一般用Push模式,设置Qos避免内存爆了。- Pull模式大致用:-------------------- GetResponse response = channel.basicGet(QUEUE_NAME, false); System.out.println(new String(response.getBody())); channel.basicAck(response...

2020-08-13 21:36:20 1117

原创 微信朋友圈设计方案简述

1 手机发送朋友圈,然后把数据先暂存到本地,本线线程异步把图片、视频资源上传到CDN,并且把发送的朋友圈相关数据(还有上传返回的链接)发送到后台服务器。2 然后本机刷自己朋友圈的时候直接从本地拉取图片、视频资源即可--如果发送的过程中,手机没电或者进程被关闭了怎么办?---- 删除是不可能删除的,只能后面重启朋友圈的时候重发(后台服务器根据当前朋友圈的发送时间戳和用户唯一标识做幂等性就行了)3 后台服务器接受到发送的朋友圈后,先把数据插入 朋友圈发布表、相册表(用户自己的相册...

2020-08-09 21:37:28 1092

原创 JVM编译优化

参考文章: 方法内联: https://www.toutiao.com/a6530421233337500164/?tt_from=weixin&utm_campaign=client_share&timestamp=1520505006&app=news_article&utm_source=weixin&iid=27056549301&utm_medium=toutiao_ios&wxshare_count=1 整体描述: htt.

2020-06-13 13:40:41 212

转载 iframe跨域通信(postMessage)

iframe跨域通信(postMessage)前言❝跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。所谓同源是指相同的域名、协议和端口,只要其中一项不同就为跨域❞需求背景在web项目中通过iframe嵌入另一个第三方web项目,第三方web项目里点击某个按钮要实时调用web项目的全局函数打开某个全局弹窗或者进...

2020-04-10 19:51:11 278

原创 jdk版本问题导致的error: reference to query is ambiguous

1用的是开源项目Davinci,在其之上进行改造情况是这样的,在test的jenkins环境中是可以正常构建的当前项目的,但是准备上预发布的时候发现jenkins报错如下:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-...

2020-04-10 19:48:42 474

原创 正则表达式一些场景的应用(含SQL解析)

实际场景1 -WITH临时表的拆分因为公司发展需要,要对sql进行改造拼装,借此需要一些比较奇葩的正则表达式来处理。由于公司采用的是基于Presto的阿里收费平台ADB,所以一下以ADB语法作为讲解。假设有一个sql如下:WITHtmp1 AS ( select xxx ),tmp2 AS ( select xxxx ),tmp3 AS ( select xx...

2020-04-02 16:20:31 204

原创 短链接原理分析

参考链接: https://blog.csdn.net/weixin_37186559/article/details/84833108为什么要用短链接?原来的链接长度过长,发微博什么之类展示也不好看。比如下面这串:https://www.baidu.com/s?wd=%E7%9F%AD%E9%93%BE%E6%8E%A5&rsv_spt=1&rsv_iqid=0x...

2020-03-29 09:37:27 383

构建高性能Web站点(修订版).pdf

本书是畅销修订版,围绕如何构建高性能Web站点,从多个方面、多个角度进行了全面的阐述,几乎涵盖了Web站点性能优化的所有内容,包括数据的网络传输、服务器并发处理能力、动态网页缓存、动态网页静态化、应用层数据缓存、分布式缓存、Web服务器缓存、反向代理缓存、脚本解释速度、页面组件分离、浏览器本地缓存、浏览器并发请求、文件的分发、数据库IO优化、数据库访问、数据库分布式设计、负载均衡、分布式文件系统、性能监控等。在这些内容中充分抓住本质并结合实践,通过通俗易懂的文字和生动有趣的配图,让读者充分并深入理解高性能架构的真相。同时,本书充分应用跨学科知识和科学分析方法,通过宽泛的视野和独特的角度,将本书的内容展现得更加透彻和富有趣味。

2018-12-16

《算法导论》课后习题完整答案(包含思考题)

该书是一本十分经典的计算机算法书籍,与高德纳(Donald E.Knuth)的《计算机程序设计艺术》(The Art Of Computer Programming)相媲美。 《算法导论》由Thomas H.Cormen、Charles E.Leiserson、Ronald L.Rivest、Clifford Stein四人合作编著(其中Clifford Stein是第二版开始参与的合著者)。本书的最大特点就是将严谨性和全面性融入在了一起。

2018-12-15

七周七并发模型_PDF电子书下载 带书签目录 高清完整版

先前的《七周七语言:理解多种编程范型》讲述了一个面向对象编程语言的故事,这是很适应当时的环境的。但在多核架构的驱动下.软件复杂度的增长和并发技术的发展所带来的压力,将函数式编程推到舞台之上,并对今后的编程方式有着深远的影响。Paul Butcher 是《七周七语言》最给力的审校者之一,相识四年后,我开始理解其中原因。

2018-12-16

大数据概念介绍.pdf

大数据的前景以及大数据在企业中的开发运用 大数据的前景以及在企业中的运用 编者话:这是一篇从大数据从业者角度看大数据的文章,主要面向对象是大数据学习,准备转行大数据的工程师,准备面试大数据工程师或者大数据初级入门等人员。所以没有过多地从技术层面分析大数据架构,而是从大数据工程师的实用的角度给出一些建议。

2018-12-16

nodejs简单留言板

环境要求:expressjs 4.* 功能:包含简单的增、查、删功能

2016-12-14

JS简易计算器

js实现简易计算器

2016-07-06

架构探险 从零开始写Java Web框架.pdf

本书首先从一个简单的Web应用开始,让读者学会如何使用IDEA、Maven Git等开发工具搭建Java web应用:接着通过一个简单的应用场景,为该Web应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该Web应用,完善相关细节,并对已有代码进行优化:然后基于传统Servlet框架搭建一款轻量级Java Web框架,一-切都是从零开始,逐个实现类加载器、Bean容器、loC框架、MVC框架,所涉及的代码也是整个框架的核心基础。为了使框架具备AOP特性,从代理技术讲到AOP技术,从ThreadLocal技术讲到事务控制技术。最后对框架进行优化与扩展,通过对现有框架的优化,使其可以提供更加完备的功能,并以扩展Web服务插件与安全控制插件为例,教会读者如何设计款可扩展的Web应用框架。

2018-12-16

Linux高性能服务器编程.pdf

面向服务器的应用开发一直是Linux软件开发领域的重点,而Linux高性能服务器应用的开发则是重点中的难点,软件开发工程师们不仅需要深入钻研很多理论技术,还需要在实际的生产环境中积累经验。因此,不仅这方面的从业人员奇缺,而且这方面的图书资料也极为少见,本书算是弥补了这个领域市场的空白。作者将自己多年来从事Linux服务器端编程的经验进行了总结和梳理,从原理到实践,从底层的网络协议到上层的服务器性能优化与监测,系统地讲解了开发高性能服务器端应用的方法、技巧和编程思想。 全书一共分为三大部分:第一部分对Linux服务器编程的核心基础TCP/IP协议进行 了深刻的解读和阐述;第二部分对高性能服务器编程的核心要素进行了深入且全面的剖析,原理、技术与方法并重;第三部分从侧重实战的角度讲解了高性能服务器的优化与监测。

2018-12-18

swoole实现的websocket小推送

一直久仰swoole大名,但总忙于其他就没多研究,最近研究了下,以下是简单的推送实例

2016-12-21

swoole实现的你画我猜

以上是swoole实现的一个简单的你画我猜的小游戏,简单的用法可以到我的github上去看使用说明 https://github.com/Lidisam/swoole-for-nhwc

2017-03-28

express mvc简单实例

超简单的小实例。适合小白,具体教程去看我的博客。

2016-07-30

nodejs基于express简易聊天室

nodejs基于express简易聊天室,搭建nodejs express环境,搭建方法在http://blog.csdn.net/qq_28666081/article/details/51308581 ,另外启动方法就是解压直接node app.js,其他的可以看看源码,本源吗来自:《nodejs权威指南》

2016-07-27

swoole websocket实现五子棋

swoole实现的五子棋,详情及最新版请查看https://github.com/Lidisam/swoole-for-five-in-a-row

2017-05-11

程序员的SQL金典(完整清晰版).pdf

第1章数据库入门11.1 数据库概述1 1.1.1 数据库与数据库管理系统11.1.2 数据库能做什么2 1.1.3主流数据库管理 系统介绍21.2数据库基础概念5 1.2.1 Catalog 512.2 表(Table) 61.23 列(Column) 7 12.4数据类型(DataType) 81.2.5 记录(Record) 9 1.2.6主键(PrimaryKey) 91.2.7索引(Index) 101.2.8 表关联 12 1.2.9数据库的语言一 SQL 131.2.10 DBA与程序员 ........... ...........

2018-12-16

Maven权威指南中文版pdf(高清带完整目录).pdf

Maven是一种构建工具,一种项目管理工具,一种用来运行构建任务的抽象容器。对于那些成熟的,希望用一致的方式来管理和构建大虽相互依赖的模块和类库,并且使用了数千第三方组件的项目来说,Maven已经证明了它是一一个不可缺少的工具。它帮助数百万的工程师从日常工作中减轻维护第三方依赖的负担,它帮助很多组织从构建管理的泥潭中挣脱出来,步入新的台阶,构建和维护软件所需要的工作不再是限制软件设计的因素。 本书首次尝试来全面解释Maven这一主题。它结合了所有之前Maven书籍作者的经验和工作,并且这还不是最终的结果,目前只是第一 一个版本而已,以后还会有更多的更新。虽然Maven已经出现有很多年了,但本书的作者们相信它还仅仅是刚开始兑现自己做的大胆的承诺。所有的作者,以及本书后面的公司,Sonatype', 相信本书的出版标志着围绕Maven变革和开发,以及其周围软件生态系统的一个新的阶段的开始。

2018-12-17

tomcat权威指南(第二版-英文版).pdf

Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’ReillyMedia,Inc.Tomcat:TheDefinitiveGuide,theimageofasnowleopard,andrelatedtradedress are trademarks of O’Reilly Media, Inc. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems,Inc.,intheUnitedStatesandothercountries.O’ReillyMedia,Inc.isindependentofSun Microsystems. Manyofthedesignationsusedbymanufacturersandsellerstodistinguishtheirproductsareclaimedas trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.

2018-12-16

Java面试宝典2017版

目录 HTML&CSS;部分... 1、HTML中定义表格的宽度用80px和80%的区别是什么?.... 2、CSS 样式定义优先级顺序是? 3、div 和span的区别? ........... 4、CSS选择器包括? 11 5、用Css3语法中,如何实现一个矩形框的圆角效果和50%红色透明效果?,请写出关键脚本. ...............................

2018-12-15

TOMCAT权威指南(中文版).pdf

本书是-本万能工具,其主题涵盖了Apache Tomcat这广受欢迎的开源servlet、JSP容器和高性能的web server.《Tomcat权 威指南》对管理员和web站点管理员而言,具有较强的参考价值;对在开发或产品中要使用Tomcat作为web应用程序服务器的开发者而言,这是一本有用的指南书;对Tomcat感兴趣的人而言,这是一本优秀的介绍工具。 本书是最新Tomcat版本的更新,这是第二版,提供了关于servlet容器安装、配置、维护和安全防护的完整指南。实际上,鉴于具有如此多的最新信息,这本书本质上是一本新书,而不是原书的简单翻版。通过本书,您会了解到在所有主要操作系统(Windows、 Linux、 OS X、Solaris和FreeBSD) 上使用Tomcat的详细信息,包括关于Tomcat配置文件以及部署和运行web应用程序的交互建议的详细信息。

2018-12-16

Java面试题总览

JAVA面试题总览, 包含如下: 1. JAVA中的几种基本数据类型是什么,各自占用多少字节。 2. String类能被继承吗,为什么。 3. String,Stringbuffer,StringBuilder的区别。 4. ArrayList和LinkedList有什么区别。 5. 讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字 段,当new的时候,他们的执行顺序。

2018-12-15

《操作系统精髓与设计原理(原书第6版)》PDF中文版

操作系统是计算机系统的核心系统软件,负责控制和管理整个系统,使之协调工作。本书不仅全面地讲述了操作系统的基本概念、原理和方法,还清楚地展现了当代操作系统的本质和特点。全书分为八个部分,由浅人深地介绍了计算机系统、操作系统、进程描述和控制、线程、微内核、并发性、内存管理,虚拟内存、单处理器调度、多处理器和实时调度、vO管理和磁盘调度、文件管理、嵌人式操作系统、计算机安全技术以及分布式操作系统等内容。 本书内容丰富,具有很强的实用价值,适合作为高等院校计算机及相关专业本科生的操作系统课程教材,也可供专业技术人员参考。

2018-12-15

关于curl简单操作封装类

实现了curl常用的post请求,上传,获取验证码,下载图片操作的封装

2016-06-14

深入分析Java Web技术内幕修订版书籍.pdf

本书园绕Java Web相关技术从三方面全面、深入地进行了阐述.首先介绍前端知识。主要介绍在JavaWeb开发中涉及的- .些基本知识。包括Web请求过程、HTTP. DNS技术和CDN技术。其次深入介绍了Java技术,包括1/O技术、中文编码问题、Javac 编译原理、class 文件结构解析。Classl oader工作机制及JVM的内存管理等。最后介绍了Java服务端技术。主要包括Servlet. Session 与Cookie. Tomcat 与Jety服务器、Spring 容器、iBatis 柜架和Vvelocity框架等原理介绍,并介绍了服务端的一些优化技术。本书不仅介绍这些技术和框架的工作原理,面且结合示例来讲解,通过通俗易懂的文字和丰富、生动的配图,让读者充分并深入理解它们的内部工作原理,同时还结合了设计模式来介绍这些技术背后的架构思维。

2018-12-16

Lidisam的留言板

发表于 2020-01-02 最后回复 2020-01-02

PHP中什么加密方式相对最安全?

发表于 2015-12-13 最后回复 2016-11-17

Laravel如何设置配置文件才能使路由能正常使用

发表于 2015-10-10 最后回复 2016-11-17

PHP的Laravel如何设置一进去就直接跳转到主页

发表于 2015-10-13 最后回复 2016-07-28

JS 中根据日期计算当天对应的一年的第几周

发表于 2016-02-17 最后回复 2016-07-24

curl模拟登陆总是弹出验证码不正确

发表于 2015-08-24 最后回复 2016-01-11

Mysql数据库设置数据有效时间

发表于 2015-10-12 最后回复 2015-10-19

app与后台通信的token如何制作,如何让他们动态变化的同时能够匹配成功

发表于 2015-10-09 最后回复 2015-10-19

请问下Laravel与andriod的app通信

发表于 2015-10-08 最后回复 2015-10-13

PHP用curl抓取学生服务子系统失败了 该怎么做

发表于 2015-08-06 最后回复 2015-08-27

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

TA关注的人 TA的粉丝

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