Mark

syslog与rsyslog的了解与比较

淺唱寂寞╮ 提交于 2020-08-10 02:03:24
syslog与rsyslog的了解与比较 syslog日志收集器:   syslog是早期的centos版本的日志收集器,应该是centos5之前的版本。   syslog的两个重要的守护进程:     1、syslogd:system。主要以收集系统服务为主     2、klogd:kernel。主要以收集内核信息为主   syslog的两个重要的工作机制:     1、支持单机模式     2、支持C/S架构,可通过UDP或TCP协议提供给日志记录服务。 rsyslog日志收集器:   rsyslogd的进程名:rsyslogd   rsyslog的配置文件:/etc/rsyslog.conf   rsyslog的特性:     1、多线程     2、UDP,TCP,SSL     3、存储日志信息与MYSQL、PGSQL等数据库管理系统。     4、强大的过滤器,实现过滤日志信息中任何部分的内容。     5、自定义输出格式 rsyslog日志收集器重要术语:   facility:设施,从功能或程序上对日志进行分类:     auth,authpriv,cron,daemon,kern,Ipr,mail,mark,news,security,user,uucp,local0-local7,syslog     这一部分主要在/etc/rsyslog.conf文件中的

ebaz4205中添加ILA进行mark debug

随声附和 提交于 2020-08-10 00:02:03
综合之后打开设计图,在要查看的信号线上mark debug,工程build成功产生bit文件之后再sdk启动,再debug,可以在vivado中connect device之后,没有ila出现,说明前面mark debug有问题,所以除了mark debug之外,还需要下图中操作。 在上图中最后 右键选择 set up debug ,按照提示操作完,pin.xdc中出现了相应的调试信号设置。 来源: oschina 链接: https://my.oschina.net/u/2963604/blog/4279670

Java并发编程的艺术[2]

帅比萌擦擦* 提交于 2020-08-09 23:26:46
杀死一个开发,只需要变更三次需求。 2.1-volatile的应用(wall la tai l 还是 wall lei tai l) 它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程 修改一个共享变量时,另外一个线程能读到这个修改的值,它不会引起线程上下文的切换和调度 CPU术语定义 volatile是如何来保证可见性的呢?让我们在X86处理器下通过工具获取JIT编译器生成的 汇编指令来查看对volatile进行写操作时,CPU会做什么事情。 Java代码如下。 instance = new Singleton(); // instance是volatile变量 转变成汇编代码,如下。 0x01a3de1d: movb $0×0,0×1104800(%esi);0x01a3de24: lock addl $0×0,(%esp); Lock前缀的指令在多核处理器下会引发了两件事情[1]。 1)将当前处理器缓存行的数据写回到系统内存。 2)这个写回内存的操作会使在其他CPU里缓存了该内存地址的数据无效。 2.volatile的使用优化 著名的Java并发编程大师Doug lea在JDK 7的并发包里新增一个队列集合类Linked- TransferQueue,它在使用volatile变量时,用一种追加字节的方式来优化队列出队和入队的性 能

探索Java9 模块系统和反应流

↘锁芯ラ 提交于 2020-08-09 21:27:09
Java9 新特性 ,Java 模块化,Java 反应流 Reactive,Jigsaw 目录 模块系统 模块描述符 模块化应用程序示例 编译和执行 向后兼容 反应流 Flow类 内部实现 一个简单的应用 应用Processor API使用 总结 模块系统 Java平台模块系统(JPMS)是Java9中的特性,它是Jigsaw项目的产物。简而言之,它以更简单和易于维护的方式来组织包和类型。 直到Java8,系统仍面临与类型系统相关的两个问题: 1.所有的组件(大多是Jar包)都处在classpath中,没有任何的显式依赖申明。诸如Maven之类的构建工具可以在开发过程中帮助组织这些构件。然而,在运行时却没有这样的支持工具。你最终可能会遇到calsspath中缺少某个类,或者更严重的是存在同个类的两个版本,向这样的错误很难诊断。 2.在API级别上不支持封装。所有的public的类在整个应用中都可以访问,经管事实上这些类只是想供一部分其他类调用。另一方面,私有的类和私有的成员也不是私有的,因为你可以使用反射来绕过访问限制。 这些就是Java 模块系统要应对的地方。Oralce的Java平台首席架构师Mark Reinhold描述了Java模块系统的目标: 1.可靠的配置 - 用程序组件相互声明显式依赖的方法替换脆弱,容易出错的类路径机制。 2.强大的封装 -

这是一份稳收秋招offer的jvm常见面试题指南,助你成为offer收割机

 ̄綄美尐妖づ 提交于 2020-08-09 19:53:20
JVM是java从业者,必须要迈过的坎,不管你是初级、中级还是高级,都是必须掌握的,而且在面试中,jvm也是必考题,如果你不深入了解话,那去面试找工作肯定是有点难受的。 本文将重点介绍面试过程中常见的 JVM 题目,将面试题分为三大类:基础题目,进阶题目,实战题目 。 基础 1.1 JDK、 JRE、JVM 的关系是什么? 什么是 JVM ? 英文名称 ( Java Virtual Machine ),就是 JAVA 虚拟机, 它只识别 .class 类型文件,它能够 将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。 什么是 JRE ? 英文名称( Java Runtime Environment ),Java 运行时环境。 它主要包含两个部分:JVM 的标准实现和 Java 的一些基本类库。相对于 JVM 来说,JRE多出 来一部分 Java 类库。 什么是 JDK? 英文名称( Java Development Kit ),Java 开发工具包。 JDK 是整个 Java 开发的核心,它集成了 JRE 和一些好用的小工具。 例如:javac.exe、java.exe、jar.exe 等。 这三者的关系:一层层的嵌套关系。JDK > JRE > JVM。 1.2 JVM 的内存模型以及分区情况和作用 如下图所示: 黄色部分为线程共有

初探 performance – 监控网页与程序性能

本小妞迷上赌 提交于 2020-08-09 18:55:19
使用 window.performance 提供了一组精确的数据,经过简单的计算就能得出一些网页性能数据。 配合上报一些客户端浏览器的设备类型等数据,就可以实现简单的统计啦! 额,先看下兼容性如何: http://caniuse.com/#feat=nav-timing 这篇文章中 Demo 的运行环境为最新的 Chrome 的控制台,如果你用的是其他浏览器,自查兼容性哈~ 先来看看在 Chrome 浏览器控制台中执行 window.performance 会出现什么: 简单解释下 performance 中的属性: 先看下一个请求发出的整个过程中,各种环节的时间顺序: // 获取 performance 数据 var performance = { // memory 是非标准属性,只在 Chrome 有 // 财富问题:我有多少内存 memory: { usedJSHeapSize: 16100000, // JS 对象(包括V8引擎内部对象)占用的内存,一定小于 totalJSHeapSize totalJSHeapSize: 35100000, // 可使用的内存 jsHeapSizeLimit: 793000000 // 内存大小限制 }, // 哲学问题:我从哪里来? navigation: { redirectCount: 0, // 如果有重定向的话

JAVA并发编程入门篇,思考同步锁Synchronized背后的实现哲学

时光怂恿深爱的人放手 提交于 2020-08-09 18:11:10
多线程在概念上类似抢占式多任务处理,线程的合理使用能够提升程序的处理能力,但是使用的同时也带来了弊端,对于共享变量访问就会产生安全性的问题。下面来看一个多线程访问共享变量的例子: public class ThreadSafty { private static int count = 0; public static void incr() { try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } count ++; } public static void main(String[] args) throws InterruptedException { for (int i = 0 ; i < 1000; i++) { new Thread(()->{ ThreadSafty.incr(); },"threadSafty" + i).start(); } TimeUnit.SECONDS.sleep(3); System.out.println("运行结果是:" + count); } } 变量count的运行结果始终是小于等于1000的随机数,因为线程的可见性和原子性。 一、多线程访问的数据安全性 如何保证线程并行运行的数据安全性问题,这里首先能够想到的是加锁吧

关于程序员的电影,作为一个资深程序员,最少要看过这几部!

心已入冬 提交于 2020-08-09 16:57:59
不同的行业领域中很多时候都分享着共同的思想和理念。比如,大量的计算机编程中涉及到的概念都被运用到了电影里。有些概念出现在电影里后变得如此之酷,甚至反过来能帮助我们程序员更好的理解这些概念。一个资深程序员,在他学习编程乃至日常休闲的时候,也会找几部这样的电影来看,我们一起来看看吧! 1 黑客帝国 媒体和技术批判理论,99年的电影,上个世纪的思考,豆瓣9.0分~ 2 源代码 人死亡后大脑也能保持8分钟的回路,这个回路类似于容器,可装入其他记忆,可编程,这就是源代码区··· ··· 3 月球 “我唯一的朋友是一个又一个自己,静观他们短暂的灿烂,目睹他们暴毙于面前” 最深的孤独不是独自一个人吃一顿又一顿的饭,而是对爱的依恋落空。 看完之后最大的疑问就是:记忆是移植的,意识是怎么产生的? 4 人工智能 也许是人类终将面对的问题,人工智能和人的真正边界是什么?让人忍不住泪目的电影。 5 超能查派 程序员迪恩一直致力于制造出完全的人工智能机器人,直到某天,他的研究取得突破性进展,可是并未得到老板的支持。不甘心失败的迪恩偷偷将一台不久前被打坏的机械警察带出公司··· ··· 6 我是谁:没有绝对安全的系统 本杰明是一个这样的人:三次元现实世界中,他是一个十足的屌丝&Loser,难以找到存在感,没有时尚感、没有朋友,也没有女朋友。但是二十五岁的他却是一个的电脑极客,拥有对数字技术不可思议的天赋

ClickHouse内核分析-MergeTree的存储结构和查询加速

眉间皱痕 提交于 2020-08-09 16:05:21
注:以下分析基于开源 v19.15.2.2-stable 版本进行 引言 ClickHouse是最近比较火的一款开源列式存储分析型数据库,它最核心的特点就是极致存储压缩率和查询性能,本人最近正在学习ClickHouse这款产品中。从我个人的视角来看存储是决定一款数据库核心竞争力、适用场景的关键所在,所以接下来我会陆续推出一系列文章来分析ClickHouse中最重要的MergeTree存储内核。本文主旨在于介绍MergeTree的存储格式,并且彻底剖析MergeTree存储的极致检索性能。 MergeTree存储 MergeTree思想 提到MergeTree这个词,可能大家都会联想到LSM-Tree这个数据结构,我们常用它来解决随机写磁盘的性能问题,MergeTree的核心思想和LSM-Tree相同。MergeTree存储结构需要对用户写入的数据做排序然后进行有序存储,数据有序存储带来两大核心优势: • 列存文件在按块做压缩时,排序键中的列值是连续或者重复的,使得列存块的数据压缩可以获得极致的压缩比。 • 存储有序性本身就是一种可以加速查询的索引结构,根据排序键中列的等值条件或者range条件我们可以快速找到目标行所在的近似位置区间(下文会展开详细介绍),而且这种索引结构是不会产生额外存储开销的。 大家可以从ClickHouse的官方文档上找到一系列的MergeTree表引擎

IOS 开发规范

点点圈 提交于 2020-08-09 12:38:59
IOS 开发规范 公司名称 蔡令个人博客有限公司 文档编号 文档名称 起 草 蔡令 审 批 修订历史 版本号 日期 状态 修订人 摘要 1.0 2020/4/22 C 蔡令 起草 状态标识:C –Created A- Added M - Modified D - Deleted 阅读指南 单位/人员 建议阅读内容 目录 一.命名规范 4 1.1变量与常量 4 1.2类、分类、协议、对象、block 5 1.3属性 6 1.4方法 6 1.5通知和异常 7 1.6资源命名 7 1.7命名建议 7 1.8Constant命名规范 7 二.格式规范 8 2.0编码代码的块基本规范 8 2.1空格 9 2.1.1属性相关 9 2.1.2方法相关 9 2.1.3语句 9 2.1.4容器 9 2.2 空行 10 2.4 折行 10 2.5 大括号{} 10 三.控制规范 12 3.1switch 12 3.2if-else 12 四.内存管理规范 14 4.1 注释方式 14 4.3延迟调用范围 15 4.4类型设计范围 15 五.代码组织规范 16 5.1地址参考 16 5.2VIEWCONTROLLER 控制器代码规格 16 六. 注意要点 16 七. 工程项目结构规范 17 一.命名规范 1.1变量与常量 1).局部变量: 1.【强制】局部变量不应该包含下划线,尽量避免单个字符变量,力争