并发——详细介绍CAS机制

一、前言   今天花了点时间了解了一下JDK1.8中ConcurrentHashMap的实现,发现它实现的主要思想就是依赖于CAS机制。CAS机制是并发中比较重要的一个概念,所以今天这篇博客就来详细介绍一下CAS机制以及Java中对CAS的适用。 二、正文  2.1 乐观锁与悲观锁   在讲CAS之前,先来理解两个概念,即乐观锁和悲观锁: 乐观锁:在并发下对数据进行修改时保持乐观的态度,认为在自己修改数据的过程中,其他线程不会对同一个数据进行修改,所以不对数据加锁,但是会在最终更新数据前,判断
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

js(jQuery)获取自定义data属性的值

有时候因为需要在标签上设置自定义data属性值, <div class="col-sm-6 col-md-4" id="get_id" data-c_id="1233">   data-c_id 可以是动态赋值 有时候会出现获取不到的情况,检查是否把data-* ,后面的字符名称包含了大写,这里统一用小写,以免出现问题。 在js中获取,可以使用 $("get_id").data("c_id");   
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

mdev详解【转】 mdev详解【转】

mdev详解【转】 转自:http://blog.chinaunix.net/uid-29401328-id-5019678.html 一、概述 mdev是busybox提供的一个工具,用在嵌入式系统中,相当于简化版的udev,作用是在系统启动和热插拔或动态加载驱动程序时, 自动创建设备节点。文件系统中的/dev目录下的设备节点都是由mdev创建的。 在加载驱动过程中,根据驱动程序,在/dev下自动创建设备节点。 以下内容摘自busybox-1.23.1的mdev.txt文件: Mdev ha
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

选配电源要谨慎,关系到系统的稳定,硬件的使用寿命(任务11)

怎选电源?看图说话! 补充2点,电源的品牌不做介绍,大家看口碑。预算价格是选配电源的硬性条件,追求性价比,需要货比三家。 很多朋友在选配电源的时候,做功课,一定会被建议关注额定功率。什么是额定功率? 电源能带动的电源功率。 PFC这个词,让很多人困惑,字面上的解释“功率因数”。有效功率与总耗电量之间的关系,有效功率除以总耗电量的比值。衡量电力被有效利用的程度,值越大,电力利用率越高。 因为,计算机开关电源是电容输入型电路,电流和电压之间的相位差,造成交换功率的损失,从节能的角度看,需要PFC电
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

Linq下的数据存储问题

Linq下的数据存储问题 不多所,看注释。不注意这些技巧,可能你的数据保存无效。 var cx_xscj = from aa in sjklj.xgk_xscj select aa;//获取所有(要保存)记录,不一定是全部记录,然后进行存储,查询语句放到循环之外 FpSpread1.OpenExcel(Server.MapPath("~/exceldr/") + wjm, FarPoint.Excel.ExcelOpenFlags.DataOnly); int i = 1; foreach (
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

MySQL批量删除相同前缀的表

1 SELECT CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables WHERE table_name LIKE 'tb_task_data_%'; 这样得到删除表的sql语句 得到sql后执行即可
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

判断字符串格式正误

问题描述: 问题分析: 题目理解:首先****PAT****正确,左侧*和右侧*一样多,且如果有*,只能是A 其次 如果每次往P和T中间加一个A,则T后面增加P前面的*数量,通过递推可知: T后面的*数量是P前面的P和T之间的A的个数倍 代码展示: 1 //题目理解:首先****PAT****正确,左侧*和右侧*一样多,且如果有*,只能是A 2 //其次 如果每次往P和T中间加一个A,则T后面增加P前面的*数量,通过递推可知: 3 //T后面的*数量是P前面的P和T之间的A的个数倍 4
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

Kubernetes 学习(十二)Kubernetes 容器持久化存储(二)

0. 前言 最近阅读了一下 tkestack/csi-operator 的代码,对 kubernete 容器持久化有了新的理解 根据前文 Kubernetes 学习(十)Kubernetes 容器持久化存储 提到的各类知识点做了相关整理 形成一个知识脉络图 1. 正文 链接如下:https://www.processon.com/view/link/5e76fccce4b08e4e243319dd 缩略图如下:
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

【前端_js】js中求json的元素个数

json同数组不同,数组有表示元素个数的属性length,而json没有,但可以通过如下方式来求json中元素的个数: var myObject = {'name':'Kasun', 'address':'columbo','age': '29'} var count = Object.keys(myObject).length;
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

java调试-查看端口占用情况

开发中偶尔会出现端口被占用的情况,简单介绍下排查方式: 1、windows下使用命令 netstat -ano,会出现如下内容: 可以获取到协议类型(TCP、UDP),本地地址与端口号,访问的外部地址与端口号,连接的建立状态,以及PID(进程号)。 2、根据占用的端口号查PID,比如以8080端口为例: 可以看到8080端口上正在跑着PID为7020的进程。 3、根据PID确定进程: 打开任务管理器-进程选项卡,可以看到: 这样就找到PID为7020的进程是哪一个,再进行相应的后续处理即可。
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

推送唯一标识符

极光推送 - Push API v3 - 极光文档 https://docs.jiguang.cn//jpush/server/push/rest_api_v3_push/
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

C++字符串大小写转换的库函数

#include <iostream> #include <string> #include <algorithm> using namespace std; string str; int main() { cout << "请输入一个包含大小写字母的字符串: " << endl; cin >> str; transform(str.begin(), str.end(), str.begin(), ::tolower); cout << "转小写: "
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

Mybatis入门(一)

目录 Mybatis 简介 原生JDBC代码缺陷 Mybatis基础用法 Mybatis 简介 摘自文档: MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 读完这段话,感觉有些不太好理解,但从中
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

TZOJ 挑战题库随机训练06

点击题号跳转 A1127 B5675 C5432 D5248 E4443 F5626 G4295 H5859 I3001 J4205 A.Java vs C++回到顶部 题意 给一个字符串,问是C形式还是Java形式,不合法输出Error 题解 有点坑,需要注意'_'在开头和某尾,Java形式不能出现'_',C形式不能出现大写,不能出现连续两个'_',复杂度O(n) 代码 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

day1_接口测试、python数据类型

1、 接口测试 python语言 接口自动化测试 前端   html css js web自动化测试 移动端自动化   ios   android 测试开发   测试平台 简历 面试 2、每周日的9:30-12:00 13:30-17:30   1、每周写博客,博客园上申请一个博客   2、申请码云地址,建一个项目 交作业只要复制地址https:gitee.com/nnzhp 不交作业发红包,全交老师发红包 3、视频   http://www.360dhf.cn/dhfplayer.html
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

参数的用法——利用参数创建节点 ROS 消息通讯——服务器/客户端的来龙去脉

在 ROS 消息通讯——服务器/客户端的来龙去脉的基础上,对service_server.cpp文件进行修改如下: 1 #include <ros/ros.h> 2 #include <ros_tutorials_service/SrvTutorial.h>//服务头文件 3 4 #define PLUS 1 5 #define MINUS 2 6 #define MULTIPLICATION 3 7 #define DIVISION 4 8 9 int g_operat
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

Mybatis的缓存机制详解

目录 一级缓存 二级缓存 自定义缓存 一级缓存 MyBatis 包含了一个非常强大的查询缓存特性,它可以非常方便地配置和定制。MyBatis 3 中的缓存实现的很多改进都已经实现了,使得它更加强大而且易于配置。mybatis默认情况下只会开启一级缓存,也就是局部的 session 会话缓存。 首先我们要知道什么是查询缓存?查询缓存又有什么作用? 功能:mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 如下图,每一个 session 会话都会有各自的缓存,这缓存是局部的,也就是所谓
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

tf.layers.dense

tf.layers.dense: import tensorflow as tf batch_size = 5 ones = tf.ones([batch_size,20]) logits = tf.layers.dense(ones,10) print(logits.get_shape()) import tensorflow as tf batch_size = 5 ones = tf.ones([batch_size,8,20]) logits = tf.layers.dense(on
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

一本通1222 放苹果

【题目描述】 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 【输入】 第一行是测试数据的数目t(0 ≤ t ≤ 20)。以下每行均包含二个整数M和N,以空格分开。1≤M,N≤10。 【输出】 对输入的每组数据M和N,用一行输出相应的K。 【输入样例】 1 7 3 【输出样例】 8 代码: #include<iostream> #include<cstdio> #include<cmath> #inclu
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0

Python学习(七)深浅拷贝

'''浅拷贝:只拷贝第一层 深拷贝:拷贝所有数据(可变) ''' #应该每次都拷贝一份(但由于小数据池,未拷贝) v1 = 'alex' import copy v2 = copy.copy(v1) print(id(v1),id(v2)) v3 = copy.deepcopy(v1) print(id(v1),id(v3)) 特殊情况:元祖内含可变数据类型 a=(1,2,3,[4,5,6])
分类: 其他 发布时间: 03-27 23:34 阅读次数: 0