轻量级

json和jsonp的区别

╄→尐↘猪︶ㄣ 提交于 2020-03-17 12:16:21
参考: https://blog.csdn.net/weixin_44392418/article/details/88782809 json和jsonp虽然只有一个字母的区别,但是它们之间扯不上关系。 json是一种轻量级的数据交换格式。 jsonp是一种跨域数据交互协议。 json的优点:(1)基于纯文本传递极其简单,(2)轻量级数据格式适合互联网传递,(3)容易编写和解析。 来源: CSDN 作者: qianer0_0 链接: https://blog.csdn.net/m0_37826705/article/details/104836261

线程同步synchronized

六眼飞鱼酱① 提交于 2020-03-17 11:41:01
同步条件:等待池序列,锁机制。 由于同一进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了访问冲突的问题。为了保证数据在方法中被访问时的正确性,在访问时加入锁机制(synchronized),当一个线程获得对象的排它锁,独占资源,其他线程必须等待,使用后释放锁即可。存在以下问题: 一个线程持有锁会导致其它所有需要此锁的我程挂起; 在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题: 如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能问题。 可以 修饰方法或者代码块 ,确保多个线程在同一时刻,只能有一个线程处理方法或者是同步块,Synchronized修饰的方法或者代码块相当于并发中的临界区,在同一时刻JVM只允许一个线程进入执行。 保证线程对访问变量的可见性,有序性,原子性 。 修饰普通方法 修饰静态方法 修饰代码块 通过synchronized关键字来处理统计1秒钟count++的次数 public class SynchronizedDemo { private static boolean flag = true; public static void main(String[] args) { Thread thread = new Thread(new Runnable() { @Override public

轻量级桌面 openbox + tint2 + conky + stalonetray + pcmanfm + xcompmgr

拈花ヽ惹草 提交于 2020-03-13 08:11:00
openbox+tint2+pnmixer+conky=轻量级archlinux桌面环境设置备忘 缘起 机器上的Ubuntu 12.04有一段时间没有使用了,最近在用的时候发现频繁死机的情况,开始以为是unity的原因,于是换成了gnome3,然而好景不长很快又频繁死机了。作为一个懒得折腾的人,还是重装系统最省事了。想来想去,还是装了archlinux。 设置 安装过程不必细说,arch的wiki上有详细的说明。这里只是简单的记录下配置过程。 网络配置 使用wicd替换了默认的netctl systemctl stop netctl systemctl disable netctl pacman -S wicd wicd-gtk systemctl start wicd systemctl enable wicd 并在~/.config/openbox/autostart中加入wicd-gtk -t & 图形界面 图形界面我选择了轻量级的openbox。 pacman -S openbox 然后是openbox配置的一系列工具 openbox主题及设置工具 pacman -S openbox-themes obconf openbox右键菜单我选用了AUR的obmenu-generator,其动态菜单(pipe menu)功能尤其方便,在安装了新的软件后也无需重新设置右键菜单。

Android数据持久化(一) SharedPreferences

不问归期 提交于 2020-03-12 13:53:19
前言 前几篇文章主要讲了安卓四大组件之Activity。最近在coding的时候又遇到一个问题:自己项目中有两个Activity分别命名为Activity1和Activity2,而Activity1属于process1,Activity2属于process2,从Activity1跳转到Activity2,然后在Activity2中通过使用SharedPreferences进行保存简单的数据,结果不论怎么操作所取的值都是不正确的,why??? 读完本篇你将有所了解! 备注:本文主要从源码角度进行分析。 简介 SharedPreferences是Android平台上一个轻量级的存储辅助类,用来保存应用的一些常用配置,它提供了string,set,int,long,float,boolean六种数据类型。最终数据是以xml形式进行存储。在应用中通常做一些简单数据的持久化缓存。 流程图 源码分析 来源: CSDN 作者: aphrodite1314 链接: https://blog.csdn.net/aphrodite1314/article/details/104812973

前端轻量级web进度条 – Nprogress & nanobar

廉价感情. 提交于 2020-03-10 11:07:40
转载:http://www.xuanfengge.com/front-end-nprogress-and-lightweight-web-progress-bar-nanobar.html 前言 进度条库是前端中常见的库之一,bootstrap中提供了多种进度条样式。NProgress.js和nanobar.js是两款轻量级的进度条组件,使用简便。轩枫阁用过Nprogress,用于页面刚打开时的页面加载进度显示。 官网 NProgress.js: http://ricostacruz.com/nprogress/ nanobar.js: http://nanobar.micronube.com/ 1. NProgress 简介 轻量级的ajax进度条应用,灵感来自Google, YouTube, and Medium。 纳米级的进度条。 具有逼真的动画涓涓细流来说服你的用户,something is happen! 安装 引入 nprogress.js 和 nprogress.css 到项目中。 基本用法 只需要调用start() 和 done()来控制进度条 1 2 NProgress . start ( ) ; NProgress . done ( ) ; 高级用法 百分比 :通过设置progress的百分比,调用 .set(n)来控制进度,其中n的取值范围为0-1。 1 2

Java并发学习笔记(一)锁

情到浓时终转凉″ 提交于 2020-03-08 18:27:25
Java并发学习笔记(一)锁 前言 在多线程环境中,如果对共享变量进行非原子的操作,就很可能出现线程安全问题,为了维护多线程环境下操作共享变量的数据一致性,通常我们就需要用到锁,在Java中,关于锁的概念很多,在学习的过程中整理了一部分简单给大家分享一下。 锁名词概念 死锁、活锁、饥饿锁、无锁 悲观锁、乐观锁 偏向锁、轻量级锁、重量级锁 重入锁 非公平锁、公平锁 独占锁、共享锁 读写锁 以上锁相关名词有的指锁的状态,有的是锁的设计思想,还有一些锁实现相关的特性等等,一些名词之间存在强关联,不是很好分类,下面逐步进行展开说明。 死锁 死锁原因 多个线程竞争共享资源,由于抢占顺序不一致导致线程间互相等待对方持有的资源释放,导致线程永久阻塞等待。 死锁条件 互斥条件:共享资源只能同时被一个线程占用 请求与保持条件:线程1已经取得共享资源X,在等待共享资源Y的时候,不释放共享资源X 不可剥夺条件:线程1占有的共享资源,其他线程不能强行抢占 循环等待条件:线程1等待线程2占有的资源,线程2等待线程1占有的资源,就是互相等待 如何避免死锁 不使用锁或者不使用两把及以上的锁 必须使用两把及以上的锁时,保证整个应用获取锁的顺序一致 尝试获取具有超时释放的锁,比如tryLock 当发生Java-Level的死锁时,重启程序干掉进程或者线程,比如数据库事务 如何定位死锁 jps及jstack命令定位

vue 引入wangeditor(轻量级富文本框)

六月ゝ 毕业季﹏ 提交于 2020-03-08 10:38:28
1 下载 //(注意 wangeditor 全部是小写字母) npm install wangeditor 2 项目中引用 import E from 'wangeditor' 3 在这里插入代码片 <div id="editor" class="editor"></div> <button v-on:click="getContent">查看内容</button> 4 js 代码 export default { name: 'editor', data () { return { editorContent: '',//定义为全局变量 editor:'' //定义为全局变量 } }, methods: { getContent: function () { this.editor.txt.html('') //清空富文本框 alert(this.editorContent) this.editor.txt.html(“内容”); //富文本框设置内容 } }, mounted() { var editor = new E('#editorElem') editor.customConfig.onchange = (html) => { this.editorContent = html //内容复制 } editor.create() } } 来源: CSDN 作者: ——爱

一个轻量级的基于 .NET Core 的 ORM 框架 HSQL

旧时模样 提交于 2020-03-07 19:12:22
HSQL 是一种轻量级的基于 .NET Core 的数据库对象关系映射「ORM」框架 HSQL 是一种可以使用非常 简单 且 高效 的方式进行数据库操作的一种框架,通过简单的语法,使数据库操作不再成为难事。目前支持的数据库有 MySql、SQLServer。 安装方法 Install-Package HSQL-standard 使用方法 创建映射模型 创建数据库操作实例 进行数据库操作 新增 批量新增 修改 删除 查询 单实例查询 分页查询 灵活条件查询 性能 无索引、单机、单表、表数据为十万行 单实例插入十万次 批量插入十万次 查询单实例十万次 创建映射模型 [Table("t_student")] public class Student { [Column("id")] public string Id { get; set; } [Column("name")] public string Name { get; set; } [Column("age")] public int Age { get; set; } [Column("school_id")] public string SchoolId { get; set; } [Column("birthday")] public long Birthday { get; set; } } Table 标记一个表对象

Flutter 轻量级的ToolTip控件

醉酒当歌 提交于 2020-03-03 05:51:30
轻提示的效果在应用中是少不了的,其实Flutter已经准备好了轻提示控件,这就是 toolTip 。 轻量级操作提示 其实Flutter中有很多提示控件,比如 Dialog 、 Snackbar 和 BottomSheet 这些操作都是比较重量级的,存在屏幕上的时间较长或者会直接打断用户的操作。 当然并不是说这些控件不好,根据需求的不同,要有多种选择,所以才会给大家讲一下轻量级操作提示 Tooltip。 Tooltip 是继承于 StatefulWidget 的一个Widget,它并不需要调出方法,当用户长按被 Tooltip 包裹的Widget时,会自动弹出相应的操作提示。 child: Tooltip( //轻量级提示 message: "Don't touch", child: Image.asset('images/lake.jpg'), ), 完整代码如下: import 'package:flutter/material.dart'; void main()=> runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title:'Flutter Demo', theme

Farseer.net轻量级开源框架 入门篇:分类逻辑层

守給你的承諾、 提交于 2020-03-03 00:22:04
导航 目 录: Farseer.net轻量级开源框架 目录 上一篇: Farseer.net轻量级开源框架 入门篇: 缓存逻辑层 下一篇: Farseer.net轻量级开源框架 入门篇: 添加数据详解 分类逻辑层 分类逻辑层,主要用在一些需要支持无限递归的树数据。树数据是:必须有一个根节点,根节点有无限个子节点,没有节点限制。比如我们常用的有:(频道、xxx分类) 这里与BaseCacheModel的操作是完全一致。唯一不同的是,BaseCateModel是继承自ModelCateInfo。这个类提供了默认的几个字段: 1 /// <summary> 2 /// 分类基类 3 /// </summary> 4 public class ModelCateInfo : ModelInfo 5 { 6 /// <summary> 7 /// 所属ID 8 /// </summary> 9 [Display(Name = "所属分类")] 10 public virtual int? ParentID { get; set; } 11 12 /// <summary> 13 /// 标题 14 /// </summary> 15 [Display(Name = "标题"), StringLength(50), Required] 16 public virtual string