轻量级

Leech for mac(轻量级mac下载工具) v3.14

生来就可爱ヽ(ⅴ<●) 提交于 2020-04-06 06:40:22
Leech一个轻量级但功能强大的下载管理器。掌握你的浏览器下载,让你轻松下载,不再受浏览器限速带宽,以及下载多个数据,Leech让你最高最快的速度下载,不再受限于浏览器下载 软件特点 必须...去...快! Leech 3支持加速下载(在支持此功能的服务器上)意味着您可以一次下载多个数据流,从而加快下载速度。当然,我们很好,但我们不是魔术 - 你不能以高于连接的最高速度下载! 必须...去...慢! Leech 3支持加速下载(在支持此功能的服务器上)意味着您可以一次下载多个数据流,从而加快下载速度。当然,我们很好,但我们不是魔术 - 你不能以高于连接的最高速度下载! 您可以控制计划 有一个令人讨厌的网络连接,一夜之间有免费带宽,但白天限制?寻找新的提供商。但如果这不是一个选择,让Leech自动下载你所有的东西。在进入夜晚之前,不再需要在电脑前闲逛以开始一系列下载。 Leech不仅仅是任何下载管理器,它还是Many Tricks的下载管理器。所以这里只是一些Leech的其他技巧的样本...... 在Dock中,在菜单栏中或在新的Dock-and-menu bar混合模式下运行。 包含Safari上下文菜单扩展,可将下载内容发送给Leech 根据主机名和文件扩展名创建管理下载的规则。 使用范围下载多个文件,即file_ {1-3} .jpg 将URL列表粘贴到Leech中

Apache轻量级性能测试工具

亡梦爱人 提交于 2020-04-06 00:12:12
平时工作中会需要一些性能测试,简单的性能测试完全可以由AB来替代,而不需要动用LR这样重量级的工具。 此文简单介绍一下ab的工具使用与结果分析。当作个笔记,以便以后查阅。 1、安装:要使用AB,需要先安装Apache,它是Apache自带的测试工具(apache benchmark),在apache的安装目录下。 2、使用: 使用格式: ./ab [options] [http://]hostname[:port]/path 参数说明: -n requests Number of requests to perform //在测试会话中所执行的请求个数。默认时,仅执行一个请求 -c concurrency Number of multiple requests to make //一次产生的请求个数。默认是一次一个。 -t timelimit Seconds to max. wait for responses //测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。 -p postfile File containing data to POST //包含了需要POST的数据的文件. -T content-type Content-type header for POSTing /

Java关键字-synchronized

时光毁灭记忆、已成空白 提交于 2020-03-28 03:08:43
synchronized 关键字的三种使用方式   修饰实例方法,作用于当前对象实例加锁,进入同步代码前要获得当前对象实例的锁。   修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁 。也就是给当前类加锁,会作用于类的所有对象实例,因为静态成员不属于任何一个实例对象,是类成员( static 表明这是该类的一个静态资源,不管new了多少个对象,只有一份,所以对该类的所有对象都加了锁)。所以如果一个线程A调用一个实例对象的非静态 synchronized 方法,而线程B需要调用这个实例对象所属类的静态 synchronized 方法,是允许的,不会发生互斥现象,因为访问静态 synchronized 方法占用的锁是当前类的锁,而访问非静态 synchronized 方法占用的锁是当前实例对象锁。   修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。 和 synchronized 方法一样,synchronized(this)代码块也是锁定当前对象的。synchronized 关键字加到 static 静态方法和 synchronized(class)代码块上都是是给 Class 类上锁。需要注意的是:尽量不要使用 synchronized(String a) 因为JVM中,字符串常量池具有缓冲功能! synchronized

轻量级ORM框架——第一篇:Dapper快速学习

被刻印的时光 ゝ 提交于 2020-03-23 21:48:47
     我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dapper,而且被称为the king of ORM。 一:为什么选择Dapper 1. 性能优越: 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco serialization的过程中所表现的性能,我们发现dapper是第二名, 当然第一名谁也无法超越,越底层的当然久越快,同时也就越麻烦。就好像谁能超过“01代码”呢??? 2. 支持多数据库 支持多数据库的本质是因为Dapper是对IDBConnection接口进行了方法扩展,比如你看到的SqlMapper.cs,一旦你这样做了,我们也知道, SqlConnection,MysqlConnection,OracleConnection都是继承于DBConnection,而DBConnection又是实现了IDBConnection的接口,对吧。。。 二:安装Dapper install dapper的方式通常有两种: 1. 通过nuget进行安装   如果你不知道怎么用nuget进行安装,或者不知道install-package是什么,可以在browser上找一下,比如下面这样: 然后我们copy到package

值得推荐的C/C++开源框架和库

旧巷老猫 提交于 2020-03-21 07:32:36
原文链接: http://coolshell.info/c/c++/2014/12/13/c-open-project.htm 留档备查,非常强大的C/C++开源项目总结文档~ 值得学习的C语言开源项目 - 1. Webbench Linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL, 测试 网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用 C语言 编写, 代码实在太简洁,源码加起来不到600行。 http://home.tiscali.cz/~cz210552/webbench.html - 2. Tinyhttpd 下载链接: http://sourceforge.net/projects/tinyhttpd/ - 3. cJSON cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。 http://sourceforge.net/projects/cjson/ - 4. CMockery 主要特点: 免费且开源,google提供技术支持; 轻量级的框架,使测试更加快速简单; 避免使用复杂的编译器特性,对老版本的编译器来讲,兼容性好; 并不强制要求待测代码必须依赖C99标准

轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑

眉间皱痕 提交于 2020-03-21 05:29:45
  上一篇博文中我们快速的介绍了dapper的一些基本CURD操作,也是我们manipulate db不可或缺的最小单元,这一篇我们介绍下相对复杂 一点的操作,源码分析暂时就不在这里介绍了。 一:table sql 为了方便,这里我们生成两个表,一个Users,一个Product,sql如下: <1> Users table CREATE TABLE [dbo].[Users]( [UserID] [int] IDENTITY(1,1) NOT NULL, [UserName] [varchar](50) NULL, [Email] [varchar](100) NULL, [Address] [varchar](100) NULL, CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED ( [UserID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] <2> Product table CREATE TABLE [dbo].[Product]( [ProductID] [int]

蚂蚁金服轻量级类隔离框架 Maven 打包插件解析 | SOFAArk 源码解析

狂风中的少年 提交于 2020-03-20 11:43:11
3 月,跳不动了?>>> SOFA Stack( S calable O pen F inancial A rchitecture Stack)是蚂蚁金服自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 本文为《剖析 | SOFAArk 实现原理》第二篇,本篇作者盲僧,来自 OYO。《剖析 | SOFAArk 实现原理》系列由 SOFA 团队和源码爱好者们出品,项目代号: SOFA:ArkLab/ ,文末附系列共建列表,目前已完成领取。 前言 SOFAArk 是 SOFA 团队开源的又一款扛鼎力作,它是一款基于 Java 实现的轻量级类隔离容器,主要提供类隔离和应用(模块)合并部署的能力。 从 2016 年底开始,蚂蚁金服内部开始拥抱新的轻量级类隔离容器框架-SOFAArk。截止 2019 年底,SOFAArk 已经在蚂蚁金服内部 Serverless 场景下落地实践,并已经有数家企业在生产环境使用 SOFAArk ,包括网易云音乐、挖财、溢米教育等。 本文主要介绍下 SOFAArk Biz 包的打包插件,帮助大家更好的去理解 Biz 包的结构,也是为系列文章做好铺垫。 SOFAArk biz 的打包插件是 sofa-ark-maven-plugin ,它可以将普通 Java 工程或者 Spring Boot

因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知!

倾然丶 夕夏残阳落幕 提交于 2020-03-18 13:27:45
volatile 是并发编程的重要组成部分,也是面试常被问到的问题之一。不要向小强那样,因为一句:volatile 是轻量级的 synchronized,而与期望已久的大厂失之交臂。 volatile 有两大特性:保证内存的可见性和禁止指令重排序。那什么是可见性和指令重排呢?接下来我们一起来看。 内存可见性 要了解内存可见性先要从 Java 内存模型(JMM)说起,在 Java 中所有的共享变量都在主内存中,每个线程都有自己的工作内存,为了提高线程的运行速度,每个线程的工作内存都会把主内存中的共享变量拷贝一份进行缓存,以此来提高运行效率,内存布局如下图所示: 但这样就会产生一个新的问题,如果某个线程修改了共享变量的值,其他线程不知道此值被修改了,就会发生两个线程值不一致的情况,我们用代码来演示一下这个问题。 public class VolatileExample { // 可见性参数 private static boolean flag = false; public static void main(String[] args) { new Thread(() -> { try { // 暂停 0.5s 执行 Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } flag =

值得推荐的开源C/C++框架和库

限于喜欢 提交于 2020-03-18 06:03:14
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。 下载链接: http://home.tiscali.cz/~cz210552/webbench.html - 2. Tinyhttpd tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。 下载链接: http://sourceforge.net/projects/tinyhttpd/ - 3. cJSON cJSON是C语言中的一个JSON编解码器,非常轻量级,C文件只有500多行,速度也非常理想。 cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。 项目主页: http://sourceforge.net/projects/cjson/ - 4. CMockery

JVM实现线程

十年热恋 提交于 2020-03-17 18:35:23
实现线程主要有三种方式:使用内核线程实现,使用用户线程实现和使用用户线程加轻量级进程混合实现。 使用内核线程实现 内核线程(KLT,Kernel-Level Thread),直接由操作系统内核(Kernel,即内核)支持的线程。由内核来完成线程切换,内核通过操纵调度器(Scheduler)对线程进行调度,并负责将线程的任务映射到各个处理器上。每个内核线程可以视为内核的一个分身,这样操作系统就有能力同时处理多件事情,支持多线程的内核叫做多线程内核。 程序一般不会去直接使用内核线程,而是去使用内核线程的一种高级接口——轻量级进程(LWP),即通常意义上的线程*。由于每个轻量级进程都由一个内核线程支持,因此只有先支持内核线程,才能有轻量级进程。*轻量级进程与内核线程之间1:1关系称为一对一的线程模型。 内核线程保证了每个轻量级进程都成为一个独立的调度单元,即时有一个轻量级进程在系统调用中阻塞了,也不会影响整个进程的继续工作。 局限:基于内核线程实现,因此各线程操作等需要系统调用,系统调用代价高,需要在用户态和内核态来回切换,其次,每个轻量级进程都需要一个内核线程的支持,因此轻量级进程要消耗一定的内核资源,如内核线程的栈空间,因此一个系统支持轻量级进程的数量是有限的。 使用用户线程实现 广义上,内核线程以外,就是用户线程。轻量级也算用户线程,但轻量级进程的实现始终是建立在内核上的