摘要:我们发现在不做任何同步的情况下,我们计算的累加结果是错误的。 com.mmall.concurrency.example.count.CountExample2 C:\Users\ZHONGZHENHUA\imooc\concurrency\src\main\java\com\mmall\concu
阅读全文
摘要:CountDownLatch,计数器向下减的一个闭锁。假设计数器的值cnt=3,CountDownLatch这个类可以阻塞线程,并保证线程在满足某种特定的条件下继续执行,这是CountDownLatch它可能起到的作用。 信号量,Semaphore它可以阻塞进程,并且控制同一时间的请求的并发量。Co
阅读全文
摘要:C:\Users\ZHONGZHENHUA\imooc\concurrency\pom.xml com.mmall.concurrency.TestController http://blog.getpostman.com/2017/03/14/going-native/ Globals那里配置环境
阅读全文
摘要:定义注解 java.lang.annotation.Target java.lang.annotation.RetentionPolicy RUNTIME,注解会在CLASS的字节码文件中存在,在运行时通过反射可以拿到。SOURCE在编译的时候就会被忽略掉。 com.mmall.concurrenc
阅读全文
摘要:https://desktop.github.com/
阅读全文
摘要:https://start.spring.io/ 这是我们实际项目的地址:https://gitee.com/lvyinhaolaiwu/concurrency。取一下git上面的代码。 C:\Users\ZHONGZHENHUA\.ssh C:\Users\ZHONGZHENHUA\imooc\c
阅读全文
摘要:/Concurrency/src/main/java/com/mmall/concurrency/example/count/CountExample.java /Concurrency/src/main/java/com/mmall/concurrency/example/count/MapExa
阅读全文
摘要:可以专门建一个用户信息表USER_INFO,还可以有一个账户表ACCOUNT专门用来存储用户的登录注册以及它的账号密码。phone可以更改为email。portrait是头像。sex不使用布尔值(布尔值只有男和女),因为INT(11)可以任意地扩展。账户登录之后要把手机端的pushId绑定到我们账户
阅读全文
摘要:重点讲解解码的过程。FFmpeg可以进行X264编码。软编码效率是非常低的。即时你编VGA的话它的效率也很低。
阅读全文
摘要:login.html是一张H5页面。H5页面可以在手机端上运行。 完善一下后端接口。Idworker是唯一的id生成器,把Sid作为一个Component之后,被我们的SpringBoot容器扫描到之后,我们就直接可以使用Sid,里面会有一个方法nextShort(),它可以返回一个固定16位的字母
阅读全文
摘要:我们不会去使用自增长的id,在现阶段的互联网开发过程中,自增长的id是已经不适用了。在未来随着系统版本的迭代,用户数量的递增,肯定会做分库分表,去做一些相应的切分。在这个时候我们就需要有一个唯一的id。项目里面会有一个唯一id的插件去使用。所有的主键id都会使用一个字符串varchar。小头像是预览
阅读全文
摘要:H5+是JS封装的工具集合,通过H5+我们就可以使用JS的方式去调用到我们手机端上的一些原生的组件。 http://dev.dcloud.net.cn/mui/ http://dev.dcloud.net.cn/mui/ui/ 开发过微信小程序或者说Bootstrap,那么使用起来是非常的简单和方便
阅读全文
摘要:基于web端使用netty和websocket来做一个简单的聊天的小练习。实时通信有三种方式:Ajax轮询、Long pull、websocket,现在很多的业务场景,比方说聊天室、或者手机端online的一些在线的联机的小游戏,其实它们都会需要去做到实时通信。如何做到实时的双向通信呢?Ajax轮询
阅读全文
摘要:当服务器构建完毕并且启动之后,我们通过网页URL地址就可以访问这台服务器,并且服务器会向网页输出Hello Netty这样几个字。 Netty有三种线程模型:单线程、多线程、主从线程。Netty官方推荐使用主从线程组,因为主从线程组比较高效。因为任何的服务器,不管是tomcat还是Jetty,都会有
阅读全文
摘要:NIO有一个零拷贝的特性。Java的内存有分为堆和栈,以及还有字符串常量池等等。如果有一些数据需要从IO里面读取并且放到堆里面,中间其实会经过一些缓冲区。我们要去读,它会分成两个步骤,第一块它会把我们的数据从IO流里面读出来放到我们的缓冲区,然后从缓冲区里面再去读出来放到堆里面。其实它会经历两次,数
阅读全文
摘要:先搭建伪分布式集群,再去搭建真分布式集群。有些的人的电脑内存、性能比较低,所以在搭建真实的一个分布式环境的话,可能会相对来说比较卡,所以两种都会做一下,首先会在单机上搭建一个集群。单机上的集群主要就是它的port,端口号不一致,ip是一样的。称之为伪分布式是因为,当一个节点挂掉之后,整个集群,整个三
阅读全文
摘要:xx就是我们的master,也就是我们的主节点。心跳机制,当有一个节点挂掉之后,整个集群还是可以工作的。选举模式,我们现在的master是正常运行的,但是在某些情况下它宕机了死机了,那么这个时候它这个集群里面就少了master,没有master两个slave需要去竞争。竞争完之后slave1把sla
阅读全文
摘要:三种方式设置watcher:ls、stat、get
阅读全文
摘要:watcher是zk里面非常重要的特性。watcher一定要去好好地看一下,一定要去好好地理解一下它是如何去用的,包括触发的事件类型等等。监督者也可以理解为触发器,也就是说当我们的节点发生了一些变化的时候,比如说增加一些属性,或者说是更新了,或者说是这个节点被删除了,那么它们都会触发一个watche
阅读全文
摘要:那么既然有create创建操作,那么也就有改操作,也就是我们平时所说的增删改。它使用的是set命令去修改它的节点。 set path data [version] verision是可以写也可以不写。数据的版本号dataVersion从0变为1,那么这个就是乐观锁。那么我们来看如何来做一个乐观锁。那
阅读全文
摘要:客户端与服务端之间存在的连接,那么这样的一个连接我们就称之为会话,也就是session。其实就相当于是我们在做JSP或者说是Service的时候,那么服务端是Servlet,客户端使用的是浏览器。浏览器和Servlet之间会存在一个session,就是会话,跟这里道理是一模一样的。在Servlet里
阅读全文
摘要:ls path [watch] watch是一个监督者。quota是zookeeper的子目录。目录就是节点的意思,对于zookeeper来说它是以一个节点来说的,所以说/就是根节点,zookeeper是父节点,quota是子节点。 ls2=ls+stat。当前其实是一个节点,它每个节点可以存储数据
阅读全文