- Netty服务器结合WebSocke协议监听和接收数据
beiback
服务器问题Java服务器运维netty
目录1.pom依赖2.配置属性3.创建netty服务器4.建立监听和响应5.创建启动器6.前端static下页面7.前端js8.注意异常问题9.创建netty服务器--使用守护线程1.pom依赖io.nettynetty-all4.1.86.Final2.配置属性application.properties#启动端口server.port=8088server.servlet.context-pa
- 每日三个JAVA经典面试题(十六)
金克斯在coding
java面试开发语言
1.AQS对资源的共享方式?AbstractQueuedSynchronizer(AQS)是Java并发包中的一个关键框架,用于构建锁和其他同步器。AQS提供了对资源共享方式的支持,主要分为两种模式:独占模式和共享模式。这两种模式决定了同步状态(即资源)的获取和释放方式。独占模式(ExclusiveMode)独占模式意味着每次只有一个线程可以获取同步状态。这种模式适用于实现互斥锁等同步器,例如Re
- 【死磕Java并发】—–深入分析volatile的实现原理
Zal哥哥
通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度。Java语言规范对volatile的定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,
- netty入门浅析(1)
虾餃
笔者所有文章第一时间发布于:hhbbz的个人博客Netty的简单介绍Netty是一个NIOclient-server(客户端服务器)框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议。Netty提供了一种新的方式来使开发网络应用程序,这种新的方式使得它很容易使用和有很强的扩展性。Netty的内部实现时很复杂的,但是Netty提供了简单易用的api从网络处理代码中解耦业务逻辑。Nett
- VPN 在Android中的通信三 (netty DNS 域名自解析)
尚思app
android
在使用场景中会遇到需要nettysocket的域名解析到指定IP地址,怎么做到呢,在我们的netty中,提供了DNS域名解析(DefaultNameResolver)。一、自定义类MyDefaultNameResolver继承DefaultNameResolver,实现doResolve方法,解析的相关逻辑在这里面处理publicclassMyDefaultNameResolverextendsD
- Netty架构详解
思静语
Netty网络通信
文章目录概述整体结构Netty的核心组件逻辑架构BootStrap&ServerBootStrapChannelPipelineFuture、回调和ChannelHandler选择器、事件和EventLoopChannelHandler的各种ChannelInitializer类图ProtocolSupport协议支持层TransportService传输服务层Core核心层模块netty-com
- 架构师之路--JAVA基础和多线程基础个别问题整理
shine_du
架构师之路多线程java队列
并发和锁(1)synchronized在JDK6做了哪些优化1.适应自旋锁:自旋锁:为了减少线程状态改变带来的消耗不停地执行当前线程2.锁消除:不可能存在共享数据竞争的锁进行消除3.锁粗化:将连续的加锁精简到只加一次锁4.轻量级锁:无竞争条件下通过CAS消除同步互斥5.偏向锁:无竞争条件下消除整个同步互斥,连CAS都不操作。Java并发编程:Lock转载http://www.cnblogs.com
- 面试 Java 并发编程八股文十问十答第四期
程序员小白条
面试八股文系列面试java职场和发展八股文面试基础项目实战
面试Java并发编程八股文十问十答第四期作者:程序员小白条,个人博客相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新!⭐点赞⭐收藏⭐不迷路!⭐1)线程优先级的理解线程优先级是操作系统调度线程时考虑的一个因素,用于确定线程在竞争CPU时间时的优先级顺序。Java中的线程优先级范围是从1到10,其中1是最低优先级,10是最高优先级。线程优先级的设置可以影响线程获取CPU时间片的概率
- Java并发操作,多线程
众星揽月
多线程java开发java
Thread/Runable/Callable:多线程的三个实现方式适用场景:多线程编程优点:Callable的call方法有返回值,Runable/Callable为接口,能多实现缺点:Thread为抽象类,只能单继承Thread.sleep(millis)/Object.wait()/Object.notify()/Object.notifyAll()/Object.join()/Condit
- Java面试八股文
翁正存
java
1.网络一文搞懂所有计算机网络面试题-知乎01我应该站在谁的肩膀上-OSIvsTCPIP模型2.Java面渣逆袭必看,面试题八股文Java基础、Java集合框架、Java并发编程、JVM、Spring、Redis、MyBatis、MySQL、操作系统、计算机网络、RocketMQ、分布式、微服务|二哥的Java进阶之路3.算法代码随想录配套JetBrains刷题插件|labuladong的算法笔记
- Redis进阶篇
米兰的小铁匠~
Java面试redis数据库缓存
Redis线程模型redis是基于内存运行的高性能k-v数据库,6.x之前是单线程,对外提供的键值存储服务的主要流程是单线程,也就是网络IO和数据读写是由单个线程来完成,6.x之后引入多线程而键值对读写命令仍然是单线程处理的,所以Redis依然是并发安全的Redis为什么快完全基于内存操作,避免了传统的磁盘io读取内存这部分的消耗数据结构简单,基于哈希表结构,可以在O(1)的时间内计算出hash值
- netty的TCP服务端和客户端实现
nanshaws
tcp/ipudp网络netty后端服务器
第一步:引入依赖io.nettynetty-all4.1.90.Final第二步:实现TCP服务端packageorg.cyl.tcputils;importio.netty.bootstrap.ServerBootstrap;importio.netty.channel.ChannelFuture;importio.netty.channel.ChannelInitializer;importi
- 【工作记录】AQS学习笔记
泽济天下
工作记录java基础学习笔记javaAQS
简介在Java中,AbstractQueuedSynchronizer(AQS)是Java并发包(java.util.concurrent.locks)中一个用于构建锁和同步器框架的基础类。提供了一种实现阻塞锁和其他同步组件的底层机制。基本原理概述它的核心原理包括以下关键点:状态管理:AQS通过一个volatile类型的整型变量state来表示同步状态。比如在独占锁(如ReentrantLock)
- Recycler对象池原理
爱健身的兔子
1概述为了较少对象的数量,提高内存的使用率以及GC的效率,Netty对某些经常分配的对象采用了对象池技术避免了重复的实例化对象。2Recycler的使用privatestaticfinalRecycleruserRecycler=newRecycler(){@OverrideprotectedUsernewObject(Handlehandle){returnnewUser(handle);}};
- Redis面试题及核心知识点讲解
归来少年Plus
redis数据库缓存
redis是单线程还是多线程?redis是单线程的,主要是指网络I/O线程。Redis的持久化,集群同步等操作,则由另外的线程来执行。2.redis是单线程,为什么处理这么快?Redis的大部分操作都是在内存中完成。单线程模型避免了多线程之间的竞争,redis采用了I/O多路复用机制处理大量的客户端Socket请求。redis版本差异redis4.0版本之后,Redis添加了多线程的支持,但这时的
- 将Spring Cloud项目改造为Spring-cloud-kubernetes项目
公众号-芋道源码
中间件javalinux数据库springboot
点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天10:33更新文章,每天掉亿点点头发...源码精品专栏原创|Java2021超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务
- 从零开始学习Netty - 学习笔记 - NIO基础 - ByteBuffer: 简介和基本操作
花开十里落叶无情
nettynettynioByteBuffer
NIO基础1.三大组件1.1.Channel&BufferChannel在JavaNIO(NewI/O)中,“Channel”(通道)是一个重要的概念,用于在非阻塞I/O操作中进行数据的传输。JavaNIO提供了一种更为灵活和高效的I/O处理方式,相比于传统的I/O,它具有更好的性能和可扩展性。常见的JavaNIO中的通道类型:FileChannel(文件通道):用于文件I/O操作的通道,可以在文
- 大厂架构师带你深入了解Netty 源码,一篇带你搞懂Netty 架构设计!
丹尼爱编程
前言本篇文章我们就来说说Netty的架构设计,解密高并发之道。学习一个框架之前,我们首先要弄懂它的设计原理,然后再进行深层次的分析。接下来我们从三个方面来分析Netty的架构设计。Selector模型JavaNIO是基于Selector模型来实现非阻塞的I/O。Netty底层是基于JavaNIO实现的,因此也使用了Selector模型。Selector模型解决了传统的阻塞I/O编程一个客户端一个线
- Scala基础教程--19--Actor
落空空。
javasparkscalajava开发语言
Scala基础教程–19–Actor章节目标了解Actor的相关概述掌握Actor发送和接收消息掌握WordCount案例1.Actor介绍Scala中的Actor并发编程模型可以用来开发比Java线程效率更高的并发程序。我们学习ScalaActor的目的主要是为后续学习Akka做准备。1.1Java并发编程的问题在Java并发编程中,每个对象都有一个逻辑监视器(monitor),可以用来控制对象
- Spring Cloud Gateway负载均衡
shun35
负载均衡运维
一、SpringCloudGateway我们都知道SpringCloudGateway是一个基于SpringBoot、SpringWebFlux、ProjectReactor构建的高性能网关,旨在提供简单、高效的API路由。SpringCloudGateway基于Netty运行,因此在传统Servlet容器中或者打成war包是不能正常运行的。二、SpringCloudGateway两种负载均衡器2
- Redisson 如何实现分布式锁
不怕天黑_0819
针对项目中使用的分布式锁进行简单的示例配置以及源码解析,并列举源码中使用到的一些基础知识点,但是没有对redisson中使用到的netty知识进行解析。本篇主要是对以下几个方面进行了探索Maven配置RedissonLock简单示例源码中使用到的Redis命令源码中使用到的lua脚本语义源码分析Maven配置org.redissonredisson2.2.12com.fasterxml.jacks
- 【高效开发工具系列】PyCharm使用
檀越剑指大厂
s0常用工具pycharmidepython
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
- CIM一套完善的消息推送框架
西二旗C罗
开源框架nettyjava
一套基于Netty的完善的消息推送框架文章目录一套基于Netty的完善的消息推送框架一、背景二、快速入门三、大致流程四、框架优势五、总结一、背景公司项目有许多需要发送即时消息的场景,之前一直采用的是传统的websocket连接,它会存在掉线严重,不可重连,不支持高并发等缺点,在这样的背景下,急需一款成熟稳定的即时通讯系统。此时发现了一个优秀的开源框架–CIM。CIM是一套基于Netty框架下的推送
- Netty学习------2024/02/19
客卿123
Netty学习学习服务器网络
non-blockingio非阻塞IO1.三大组件1.1Channel&Bufferchannel有一点类似于stream,它就是读写数据的双向通道,可以从channel将数据读入buffer,也可以将buffer的数据写入channel,而之前的stream要么是输入,要么是输出,channel比stream更为底层graphLRchannel-->bufferbuffer-->channel常
- Java并发基础:SynchronousQueue全面解析!
程序员古德
Java并发基础java开发语言
内容概要SynchronousQueue的优点在于其直接性和高效性,它实现了线程间的即时数据交换,无需中间缓存,确保了数据传输的实时性和准确性,同时,其灵活的阻塞机制使得线程同步变得简单而直观,适用于需要精确协调的生产者-消费者模型。核心概念假如,有一个在线购物平台,其中有一个非常关键的部分是处理用户的支付请求,当用户点击“支付”按钮后,系统需要确保用户的支付请求能够被安全、快速地处理,并且一旦处
- redo log —— MySQL宕机时数据不丢失的原理
天堂2013
MySQLMySQLredologjava
扫描下方二维码或者微信搜索公众号菜鸟飞呀飞,即可关注微信公众号,阅读更多Spring源码分析、Java并发编程和Netty源码系列文章。问题在开始阅读本文之前,可以先思考一下下面两个问题。众所周知,MySQL有四大特性:ACID,其中D指的是持久性(Durability),它的含义是MySQL的事务一旦提交,它对数据库的改变是永久性的,即数据不会丢失,那么MySQL究竟是如何实现的呢?MySQL数
- Java并发面试算法题目
&orange
java面试算法
实现一个生产者,消费者思路:用lock锁。定义一个类成员变量max_value,min_value代表资源的最大,最小数量。packageorg.app.common;importjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.Re
- Java多线程系列——内存模型JMM
飞影铠甲
Javajava开发语言c++算法
目录核心思想关键概念1.可见性2.原子性3.有序性工作原理并发工具类对并发编程的影响同步策略JMM的实践意义结语Java内存模型(JavaMemoryModel,JMM)是Java并发编程中的核心概念,其定义了Java虚拟机(JVM)在多线程环境中如何以及何时可以看到其他线程写入的变量值,以及如何同步访问共享变量。JMM解决了可见性、原子性、有序性这些在多线程编程中常见的问题。接下来,我们将详细探
- Netty是如何解决JDK中的Selector的bug的?
coffee_babe
NettyjavabugNetty网络
SelectorBUG:JDKNIO的BUG,例如臭名昭著的epollbug,它会导致Selector空轮询,最终导致CPU100%,官方声称在JDK1.6版本的update18修复了该问题,但是直到JDK1.7版本该问题仍旧存在,只不过该BUG发生概率降低了一些而已,它并没有被根本解决,甚至JDK1.8的131版本中仍然存在https://bugs.java.com/bugdatabase/vi
- 消息中间件之RocketMQ源码分析(二)
coffee_babe
消息中间件rocketmqjava
生产者的消息发送流程业务层:通常指直接调用RocketMQClient发送API的业务代码消息处理层:指RocketMQClient获取业务发送的消息对象后,一系列的参数检查、消息发送准备、参数包装等操作通信层:指RocketMQ基于Netty封装的一个RPC通信服务,RocketMQ的各个组件之间的通信全部使用该通信层首先RocketMQ客户端接收业务层消息,然后通过DefaultMQProdu
- Spring4.1新特性——Spring MVC增强
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- mysql 性能查询优化
annan211
javasql优化mysql应用服务器
1 时间到底花在哪了?
mysql在执行查询的时候需要执行一系列的子任务,这些子任务包含了整个查询周期最重要的阶段,这其中包含了大量为了
检索数据列到存储引擎的调用以及调用后的数据处理,包括排序、分组等。在完成这些任务的时候,查询需要在不同的地方
花费时间,包括网络、cpu计算、生成统计信息和执行计划、锁等待等。尤其是向底层存储引擎检索数据的调用操作。这些调用需要在内存操
- windows系统配置
cherishLC
windows
删除Hiberfil.sys :使用命令powercfg -h off 关闭休眠功能即可:
http://jingyan.baidu.com/article/f3ad7d0fc0992e09c2345b51.html
类似的还有pagefile.sys
msconfig 配置启动项
shutdown 定时关机
ipconfig 查看网络配置
ipconfig /flushdns
- 人体的排毒时间
Array_06
工作
========================
|| 人体的排毒时间是什么时候?||
========================
转载于:
http://zhidao.baidu.com/link?url=ibaGlicVslAQhVdWWVevU4TMjhiKaNBWCpZ1NS6igCQ78EkNJZFsEjCjl3T5EdXU9SaPg04bh8MbY1bR
- ZooKeeper
cugfy
zookeeper
Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如同步, 配置管理,集群管理,名空间。它被设计为易于编程,使用文件系统目录树作为数据模型。服务端跑在java上,提供java和C的客户端API。 Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来lea
- 网络爬虫的乱码处理
随意而生
爬虫网络
下边简单总结下关于网络爬虫的乱码处理。注意,这里不仅是中文乱码,还包括一些如日文、韩文 、俄文、藏文之类的乱码处理,因为他们的解决方式 是一致的,故在此统一说明。 网络爬虫,有两种选择,一是选择nutch、hetriex,二是自写爬虫,两者在处理乱码时,原理是一致的,但前者处理乱码时,要看懂源码后进行修改才可以,所以要废劲一些;而后者更自由方便,可以在编码处理
- Xcode常用快捷键
张亚雄
xcode
一、总结的常用命令:
隐藏xcode command+h
退出xcode command+q
关闭窗口 command+w
关闭所有窗口 command+option+w
关闭当前
- mongoDB索引操作
adminjun
mongodb索引
一、索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧。下面是创建索引的命令: > db.test.ensureIndex({"username":1}) 可以通过下面的名称查看索引是否已经成功建立: &nbs
- 成都软件园实习那些话
aijuans
成都 软件园 实习
无聊之中,翻了一下日志,发现上一篇经历是很久以前的事了,悔过~~
断断续续离开了学校快一年了,习惯了那里一天天的幼稚、成长的环境,到这里有点与世隔绝的感觉。不过还好,那是刚到这里时的想法,现在感觉在这挺好,不管怎么样,最要感谢的还是老师能给这么好的一次催化成长的机会,在这里确实看到了好多好多能想到或想不到的东西。
都说在外面和学校相比最明显的差距就是与人相处比较困难,因为在外面每个人都
- Linux下FTP服务器安装及配置
ayaoxinchao
linuxFTP服务器vsftp
检测是否安装了FTP
[root@localhost ~]# rpm -q vsftpd
如果未安装:package vsftpd is not installed 安装了则显示:vsftpd-2.0.5-28.el5累死的版本信息
安装FTP
运行yum install vsftpd命令,如[root@localhost ~]# yum install vsf
- 使用mongo-java-driver获取文档id和查找文档
BigBird2012
driver
注:本文所有代码都使用的mongo-java-driver实现。
在MongoDB中,一个集合(collection)在概念上就类似我们SQL数据库中的表(Table),这个集合包含了一系列文档(document)。一个DBObject对象表示我们想添加到集合(collection)中的一个文档(document),MongoDB会自动为我们创建的每个文档添加一个id,这个id在
- JSONObject以及json串
bijian1013
jsonJSONObject
一.JAR包简介
要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:
1.commons-lang-2.0.jar
2.commons-beanutils-1.7.0.jar
3.commons-collections-3.1.jar
&n
- [Zookeeper学习笔记之三]Zookeeper实例创建和会话建立的异步特性
bit1129
zookeeper
为了说明问题,看个简单的代码,
import org.apache.zookeeper.*;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ThreadLocal
- 【Scala十二】Scala核心六:Trait
bit1129
scala
Traits are a fundamental unit of code reuse in Scala. A trait encapsulates method and field definitions, which can then be reused by mixing them into classes. Unlike class inheritance, in which each c
- weblogic version 10.3破解
ronin47
weblogic
版本:WebLogic Server 10.3
说明:%DOMAIN_HOME%:指WebLogic Server 域(Domain)目录
例如我的做测试的域的根目录 DOMAIN_HOME=D:/Weblogic/Middleware/user_projects/domains/base_domain
1.为了保证操作安全,备份%DOMAIN_HOME%/security/Defa
- 求第n个斐波那契数
BrokenDreams
今天看到群友发的一个问题:写一个小程序打印第n个斐波那契数。
自己试了下,搞了好久。。。基础要加强了。
&nbs
- 读《研磨设计模式》-代码笔记-访问者模式-Visitor
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
interface IVisitor {
//第二次分派,Visitor调用Element
void visitConcret
- MatConvNet的excise 3改为网络配置文件形式
cherishLC
matlab
MatConvNet为vlFeat作者写的matlab下的卷积神经网络工具包,可以使用GPU。
主页:
http://www.vlfeat.org/matconvnet/
教程:
http://www.robots.ox.ac.uk/~vgg/practicals/cnn/index.html
注意:需要下载新版的MatConvNet替换掉教程中工具包中的matconvnet:
http
- ZK Timeout再讨论
chenchao051
zookeepertimeouthbase
http://crazyjvm.iteye.com/blog/1693757 文中提到相关超时问题,但是又出现了一个问题,我把min和max都设置成了180000,但是仍然出现了以下的异常信息:
Client session timed out, have not heard from server in 154339ms for sessionid 0x13a3f7732340003
- CASE WHEN 用法介绍
daizj
sqlgroup bycase when
CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE
WHEN sex = '1' THEN
- PHP技巧汇总:提高PHP性能的53个技巧
dcj3sjt126com
PHP
PHP技巧汇总:提高PHP性能的53个技巧 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的函数译注: PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍
- Yii框架中CGridView的使用方法以及详细示例
dcj3sjt126com
yii
CGridView显示一个数据项的列表中的一个表。
表中的每一行代表一个数据项的数据,和一个列通常代表一个属性的物品(一些列可能对应于复杂的表达式的属性或静态文本)。 CGridView既支持排序和分页的数据项。排序和分页可以在AJAX模式或正常的页面请求。使用CGridView的一个好处是,当用户浏览器禁用JavaScript,排序和分页自动退化普通页面请求和仍然正常运行。
实例代码如下:
- Maven项目打包成可执行Jar文件
dyy_gusi
assembly
Maven项目打包成可执行Jar文件
在使用Maven完成项目以后,如果是需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁琐的操作简单。我们可以通过插件完成这项工作,使用assembly插件。具体使用方式如下:
1、在项目中加入插件的依赖:
<plugin>
- php常见错误
geeksun
PHP
1. kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastc
- 修改linux的用户名
hongtoushizi
linuxchange password
Change Linux Username
更改Linux用户名,需要修改4个系统的文件:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
古老/传统的方法是使用vi去直接修改,但是这有安全隐患(具体可自己搜一下),所以后来改成使用这些命令去代替:
vipw
vipw -s
vigr
vigr -s
具体的操作顺
- 第五章 常用Lua开发库1-redis、mysql、http客户端
jinnianshilongnian
nginxlua
对于开发来说需要有好的生态开发库来辅助我们快速开发,而Lua中也有大多数我们需要的第三方开发库如Redis、Memcached、Mysql、Http客户端、JSON、模板引擎等。
一些常见的Lua库可以在github上搜索,https://github.com/search?utf8=%E2%9C%93&q=lua+resty。
Redis客户端
lua-resty-r
- zkClient 监控机制实现
liyonghui160com
zkClient 监控机制实现
直接使用zk的api实现业务功能比较繁琐。因为要处理session loss,session expire等异常,在发生这些异常后进行重连。又因为ZK的watcher是一次性的,如果要基于wather实现发布/订阅模式,还要自己包装一下,将一次性订阅包装成持久订阅。另外如果要使用抽象级别更高的功能,比如分布式锁,leader选举
- 在Mysql 众多表中查找一个表名或者字段名的 SQL 语句
pda158
mysql
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句:
方法一:SELECT table_name, column_name from information_schema.columns WHERE column_name LIKE 'Name';
方法二:SELECT column_name from information_schema.colum
- 程序员对英语的依赖
Smile.zeng
英语程序猿
1、程序员最基本的技能,至少要能写得出代码,当我们还在为建立类的时候思考用什么单词发牢骚的时候,英语与别人的差距就直接表现出来咯。
2、程序员最起码能认识开发工具里的英语单词,不然怎么知道使用这些开发工具。
3、进阶一点,就是能读懂别人的代码,有利于我们学习人家的思路和技术。
4、写的程序至少能有一定的可读性,至少要人别人能懂吧...
以上一些问题,充分说明了英语对程序猿的重要性。骚年
- Oracle学习笔记(8) 使用PLSQL编写触发器
vipbooks
oraclesql编程活动Access
时间过得真快啊,转眼就到了Oracle学习笔记的最后个章节了,通过前面七章的学习大家应该对Oracle编程有了一定了了解了吧,这东东如果一段时间不用很快就会忘记了,所以我会把自己学习过的东西做好详细的笔记,用到的时候可以随时查找,马上上手!希望这些笔记能对大家有些帮助!
这是第八章的学习笔记,学习完第七章的子程序和包之后