一发专题

半夜来一发C语言gdbm数据库基本操作

看到linux程序设计第317 of 819的数据库程序,手痒啊。赶紧锻炼下小脑,敲个效果看看。附带关键代码注释。 #include<unistd.h>#include<stdlib.h>#include<stdio.h>#include<fcntl.h>#include<gdbm-ndbm.h>#include<string.h>#define TEST_DB_FILE "/tmp/

Java并发来一发(一)Java内存模型

目录 一、原子性、可见性和有序性 二、JMM概念 三、指令重排 四、happens-before规则 一、原子性、可见性和有序性 提到并发编程就得搞清楚原子性、可见性、有序性这三大性质,搞不清这三个性质,后面的概念也就很模糊。 1、原子性 概念:一个操作或多个操作,要么全部执行且执行过程不被中断,要么不执行。 如何保证原子性:synchronized关键字或Lock可以保证原

Java并发来一发(二)多线程四种实现方式

Java实现多线程的方式 Java实现多线程的方式有4种: 继承Thread方法、实现Runnable接口、实现Callable接口并通过FutureTask创建线程、使用ExecutorService。 其中,前两种线程执行结果没有返回值,后两种是有返回值的。 1、继承Thread方法 Thread类实现了Runnable接口,通过调用start()方法启动线程。 这种方式实现多线程

Java杂谈来一发(一)Java本地方法

1、Java本地方法概念 Java中的方法分为两种:Java方法和本地方法。 Java方法由Java语言编写,编译成字节码,存储在.class文件中。 本地方法由其他语言编写,编译成与处理器相关的机器代码,本地方法保存在动态链接库(如ddl中)。 本地方法的存在的意义,主要在于Java应用需要与JVM进行交互,当Java需要与操作系统或者某些硬件交换信息时,就需要用到本地方法。使用JNI能

Web开发来一发(二)Tomcat基础

1、Tomcat简介 Tomcat是一个Web应用服务器,同时也是一个Servlet/JSP容器。这里插一句Web服务器和Servlet容器的区别,Web服务器是指处理HTTP请求并响应的服务器,Servlet服务器是指在服务端使用Java作为后端语言动态生成页面的服务器。 Tomcat作为Servlet容器,负责处理客户端请求,把请求传送给Servlet,并将Servlet的响应返回给客户端

Web开发来一发(一)web基础

1、web的三个特征 用HTML来表达信息用HTTP协议做通信用URL实现定位 2、web发展历程 发布静态的HTML文档发布静态的多媒体信息提供浏览器和用户的交互功能(applet等运行在客户端的程序)提供服务器端与用户的交互(CGI或PHP)发布web应用和web服务 3、HTTP请求过程 DNS解析TCP连接HTTP请求响应请求页面展示 4、SpringMVC实现的web应用加载

数据库来一发(六)Mysql主从同步和分库分表

一、主从好处 做数据热备,在主数据库故障后,从库可以继续工作,避免数据丢失;提高业务支撑能力,单机扩为多机,分担系统压力;读写分离,更好的并发支持能力。 二、主从形式 一主多从主主复制多主一从联级复制(即从后有从) 三、主从同步原理 介绍3种主从同步形式:异步复制、同步复制、半同步复制、并行复制。 1、异步复制 从库有两个线程:I/O线程和SQL线程。 I/O线程去请求主库同步bi

数据库来一发(五)数据库设计原则

数据库设计原则又3大范式,这里就不讲了,实际应用中,有一些其他的经验。 1、依客观实体模型建表,不依行为建表 比如吃饭,建人和食物等实体表,而吃饭的动作通过人和食物状态来表示,不建表。 这样做的好处是便于扩展,具体说是便于行为的扩展。 当然这条规则并不会完全遵循,行为表很多时候也是要建的,目的是记录入参、重试处理等。很多时候行为表是可以在大范围内抽象,只记关键点包括参与方、发起时间、成功时

数据库来一发(四)数据库的锁机制

一、锁的种类 数据库的锁分为:独占锁(或排他锁)、更新锁、共享锁、意向锁、计划锁。 1、独占锁(或排他锁) 独占锁锁定时,其他资源既不能写也不能读。 普通的update语句就会加独占锁,锁定n行。 2、共享锁 共享锁锁定时,其他资源可以读,但不能写。 普通的select语句加的是共享锁。 独占锁和共享锁是不能同时加的,或者说独占锁是不能跟其他的锁同时加的,所以在加独占锁前,一定会先

数据库来一发(二)Mysql数据库引擎

一、简介 数据库引擎是用于存储、处理和保护数据的核心服务。其实就是数据库如何执行运作的管理方式。 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事

数据库来一发(一)数据库事务

一、数据库事务的意义 数据库事务是为了保证了一系列操作的原子性,并提供从失败中恢复的方法。另外数据库事务保证应用程序之间的隔离,避免事务之间的相互影响。 二、数据库事务的4大特性 原子性(Atomicity):事务作为一个整体,要么都执行,要么都不执行。一致性(Consistency):是指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性(Isolation):多个事

数据库来一发 --- 目录

数据库知识点: 数据库来一发(一)数据库事务 数据库来一发(二)Mysql数据库引擎 数据库来一发(三)数据库索引 数据库来一发(四)数据库的锁机制 数据库来一发(五)数据库设计原则 数据库来一发(六)Mysql主从同步和分库分表

设计模式来一发(十八)责任链模式

责任链(或职责链)模式使多个对象都有机会处理同一个请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了。 职责链模式和模板方法模式的区别在于,职责链上的节点是有共性的,也就是说处

设计模式来一发(十七)观察者模式

在观察者模式中,定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 观察者模式包含一个观察关系管理类Subject类、观察者Observer抽象类、和Observer的扩展实体类。 public class Subject {private List<Observer> observers = new ArrayList<>();priva

Web开发来一发(九)Nginx负载均衡算法(转)

参考:http://www.cnblogs.com/lvgg/p/6140584.html Nginx负载均衡算法主要以下几种方式: 1、轮询(默认方式) 每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。 2、weight轮询权值 weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。或者仅仅为在主从

Web开发来一发(八)消息中间件MQ

蚂蚁金服典型一致性MQ实现:https://yq.aliyun.com/articles/596022 一、MQ介绍 1、MQ简介 消息队列MQ是支持在分布式系统中发送和接受消息的硬件或软件基础设施,是异步RPC的主要手段之一。 运用MQ可以实现异步、系统解耦,以此提高系统响应速度。 2、MQ的核心概念 MQ的核心概念包括Broker、Producer、Consumer、Topic、M

Web开发来一发(七)缓存

一、缓存概念 1、缓存雪崩 可能是因为数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。 解决思路: 1)加锁计数(即限制并发的数量,可以用semphore)或者起一定数量的队列来避免缓存失效时大量请求并发到数据库。但这种方式会降低吞吐量。 2)分析用户行为,然后失效时间均匀分布。或者在失效时间的基础上再加1~5分钟

Spring来一发(五)SpringMVC(转)

转载自https://www.cnblogs.com/xiaoxi/p/6164383.html SpringMVC流程 1、  用户发送请求至前端控制器DispatcherServlet。 2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、  处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦

顺丰打车事件一发不可收拾,疑似搬运帮实际控制人五台山祈福

近日,顺丰速运与同城网约货运三巨头之一的“搬运帮”在京合作顺丰打车,不管是行业还是媒体都在持续关注。顺丰打车借助搬运帮APP上线不满一周火速下线,次日又离奇上线,整个事件扑朔迷离,搞得媒体及行业也是一头雾水,网民群众更是眼花缭乱。 搬运帮与顺丰打车“闪婚闪离”为哪般? 据媒体报道,顺丰单方面向媒体披露解除合作,但是很快搬运帮官方微博回应与顺丰的合作还在继续,有白纸黑字,签字画押合同为证,并未解

dubbox——windows,maven库先来一发

dubbox——windows,maven库先来一发 万事开头难,开头配环境,环境配置难~~~ 先来几个比较有帮助的博文: 分布式服务框架 dubbo/dubbox 入门示例:点击打开链接          这个文章应该是dubbo的老司机写的,也是找到的比较详细的dubbox博文,但是对我这颗小白菜来说还是遇到挺多问题的,我就再来细化一下。 前2步大家应该都没有什么

万字总结Spring Data Jpa,一发入魂。

本人更推荐于学习mybatis,因为所跟的项目技术栈是JPA,所以进行JPA的学习总结,下面是mybatis学习总结,嘿嘿,开篇劝退。 两万字使用通俗语言讲解mybatis_狗头实习生的博客-CSDN博客 JPA与JDBC的关系 相同点:         1.都跟操作数据库有关、JPA是JDBC的升级版         2.JDBC和JPA都是一组模范接口

基于ndnSIM实现一发多收

个人博客链接:http://wordpress.zlfblog.top/ 直接进入正题,想要实现一发多收,就是要在路由进行广播时转发的兴趣包与接收到数据包的数目相等,即For_num==Rec_num;但正常情况下,路由在第一次接收到数据包时就会把pit条目删除,所以接下来的目的是在接收到数据包对删除pit的命令进行修改。 一、pit条目修改 先进入到ndnSIM源目录下 然后进入pit-

socket网络编程(一):最简单的一收一发

学习网络编程的最好方法就是找个实际点的东西做一做,本文实现一个超级超级简单的一收一发的demo。为了符合一般的网络编程开发思维,还是定义一方位client,一方为server。 恩,写到网络编程自然是要说到socket(套接字)这东西的,书本上说的socket是指一种二元关系<IP地址,端口>可以用来标示一个机器上的一个进程,使得网络上的两部机器之间可以建立通讯,其中IP地址标示了哪一部机器,端

一发就会被秒赞的句子「英文版」

今天我们主要为大家分享一些英文的句子,这些句子无论你发在哪里肯定都可以获得秒赞,现在一发就会被秒赞的句子越来越少了,所以很多人就开始发一些英文的句子,我们今天也就为大家提供了一些英文的句子。 1.Not every rice dumplings has the taste of home. 2.A leaf of rice dumplings fragrance, the day to Dra

nRF24L01一对多通信及多对一通信(一收多发、一发多收)

话不多说,直接先上nRF24L01的中文开发手册,https://pan.baidu.com/s/1exzhUFWcM6Q4R9JpYWnaYw,有需要者请自行下载。         玩动nRF24L01模块需要一定的对单片机寄存器操作及SPI通信知识储备。先从其硬件开始介绍: 该模块有8个引脚,功能描述如下:       在此不再赘述其引脚功能,在玩转这个模块之前,得准备2到3块s

激情撸一发,“爱尚阅”app

利用项目空闲时间,写了一个在线阅读小说的app,由于涉及到版权问题,源就不再这里介绍了。 “爱尚阅”是基于MVP架构设计的一款app,UI风格Material design. 开发API介绍: 1、RecyclerView 2、OkHttp 3、Glide 4、Jsoup 5、Retrofit2 6、Bufferknife 7、RxJava 8、Materialref