0

HBase常用Api操作

一、 环境准备新建项目后在pom.xml中添加依赖:<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>1.3.1</version></dependency><dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</...

阅读全文>>

0

QtScrcpy - 开源的投屏控制软件

QtScrcpy 是一款 开源 的可以通过 USB 或 WiFi 连接 Android 设备的 投屏控制 软件,不需要 root 权限可最多支持 16 个安卓设备 同时连接。跨平台 支持在 Windows、macOS、Linux 操作系统上 安装使用,不需要在 手机 上 安装应用 即可 进行投屏。先访问 分享网盘 下载 程序压缩包,将其解压至 D:\Program Files 文件夹中,重命名文件夹为 QtScrcpy 后进入 解压目录,双击运行 QtScrcpy.exe 主程序启动后即可见 下方图示 的 程序界面。软件的 上手使用 非常容易,以 USB 连接为例,先将手机使用 数据线 连接在...

阅读全文>>

0

集群分布式下日志架构的搭建

问题1.生产环境中项目节点过多,如何集中管理日志?2.多节点项目中,出现问题如何定位到某个具体节点出现问题?进而迅速获取该节点日志?3.EFK是如何收集管理日志的?演示。4.搭建过程日志基础架构解决效果非容器日志查看效果容器日志查看效果思路首先确定那种日志,容器或者非容器针对于非容器日志,直接采用filebeat采集固定目录日志即可,只不过在采集参数上可以有所调整,可以直接将业务日志改成JSON,也可以不改,但是要注意的是日志采集的时候异常日志的采集方式,filebeat默认是单行,但是单行的对于出现一堆异常的日志来说,查看不是很方便明确,因此注意采取多行采集配置,如上图演示效果中的日志.日志...

阅读全文>>

0

java为我们已经提供了各种锁,为什么还需要分布式锁?

目前的项目单体结构的基本上已经没有了,大多是分布式集群或者是微服务这些。既然是多台服务器。就免不了资源的共享问题。既然是资源共享就免不了并发的问题。针对这些问题,redis也给出了一个很好的解决方案,那就是分布式锁。这篇文章主要是针对为什么需要使用分布式锁这个话题来展开讨论的。不喜勿喷。前一段时间在群里有个兄弟问,既然分布式锁能解决大部分生产问题,那么java为我们提供的那些锁有什么用呢?直接使用分布式锁不就结了嘛。针对这个问题我想了很多,一开始是在网上找找看看有没有类似的回答。后来想了想。想要解决这个问题,还需要从本质上来分析。OK,开始上车出发。一、前言既然是分布式锁,这就说明服务器不是一...

阅读全文>>

0

分布式锁设计方案

分布式锁设计方案一.需求背景1.背景系统背景解决方案单机系统单体单机部署的系统,需要对某一个共享变量进行多线程同步访问的时候,所有的请求都会分配到当前服务器的jvm内部,然后映射为操作系统的线程进行处理。而这个共享变量只是在这个jvm内部的一块内存空间。使用java并发处理的相关API进行互斥控制(如ReentrantLock或Synchronized)分布式系统由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,单纯的java API并不能提供分布式锁的能力。这就是分布式锁需要解决的问题。使用分布式锁2.分布式锁具备的条件原子性:同一时刻,只能有一个...

阅读全文>>

0

DocFetcher - 开源的文件内容搜索工具

DocFetcher 是一款 开源 的 文件内容 搜索工具,它除了允许你 搜索电脑 上的 文件名称 查找文件以外,还支持通过 文件内容 进行查找 所需文件。除了 .txt 格式以外,还支持 .xlsx 等 常见格式,该软件支持在 Windows、macOS、Linux 操作系统上 运行使用,建议有 使用需求 的用户 安装使用。DocFetcher 依赖 JRE 环境,安装软件 时虽然可以 联网下载 并 进行安装,但实测下载 速度过慢 且时常出现 下载错误 无法安装等问题。先访问 分享网盘 中下载 离线安装包 后 双击运行 并依次点击 安装 - 关闭 按钮即可 完成安装。http://javad...

阅读全文>>

0

Java实现PDF首页转缩略图

一、maven安装<dependency> <groupId>org.icepdf.os</groupId> <artifactId>icepdf-core</artifactId> <version>6.2.2</version> </dependency>二、Java代码实现import org.icepdf.core.pobjects.Document; import org.icepdf.core.pobjects.Page; import org.icepdf.co...

阅读全文>>

0

dubbo filter实现参数透传

在项目中转递参数通常是在接口中传递,然后在每个方法中接受这些参数处理。dubbo提供了rpc上下文可以实现设置和接受这些参数,实现我们的参数透传。(本文于2019年11在个人博客简书发表)1.RpcContext利用RpcContext实现consumer和provicer参数传递例如:消费端: RpcContext.getContext().setAttachment("bizId", "小程序"); //调用dubbo activityAdminFacade.queryExchangeActivitiesByOption(option); 服务端: @Override publ...

阅读全文>>

0

PHP调优入门

PHP应用的性能并不是单纯的技术问题,它对商业层面的影响也很大。如果你认为几微秒不值得你花时间去提升,那说明你还没有到达高级程序员的水平。本公众号专注于PHP语言的学习教程,欢迎关注我们。性能的价值性能对PHP应用(软件)的意义,主要是三个方面。其一是用户体验,更快的速度无疑会让用户体验更好;其二是更快的速度能够提升转化率;其三,高性能的应用具有更好的可伸缩性(scalability),能够处理更多的请求。火狐浏览器将页面下载速度提升了2.2秒之后,获得了1千万额外的下载量;Shopzilla提升了5秒时间,获得了7-12%的转化率提升;Bing的搜索速度降低1秒,代价是2.8%的营收;雅虎的...

阅读全文>>

0

自己动手写SQL执行引擎

自己动手写SQL执行引擎前言在阅读了大量关于数据库的资料后,笔者情不自禁产生了一个造数据库轮子的想法。来验证一下自己对于数据库底层原理的掌握是否牢靠。在笔者的github中给这个database起名为Freedom。整体结构既然造轮子,那当然得从前端的网络协议交互到后端的文件存储全部给撸一遍。下面是Freedom实现的整体结构,里面包含了实现的大致模块:最终存储结构当然是使用经典的B+树结构。当然在B+树和文件系统block块之间的转换则通过Buffer(Page) Manager来进行。当然了,为了完成事务,还必须要用WAL协议,其通过Log Manager来操作。Freedom采用的是索引...

阅读全文>>