死磕 java集合之ConcurrentHashMap源码分析(二)——扩容

死磕 java集合之ConcurrentHashMap源码分析(二)——扩容 ConcurrentHashMap扩容门槛是多少?怎么计算得来? ConcurrentHashMap装载因子是多少? ConcurrentHashMap扩容规则是怎么样的? ConcurrentHashMap扩容怎么保证多线程安全? ConcurrentHashMap元素个数是怎么存储的? ConcurrentHashMap是不是强一致性的?
分类: 编程语言 发布时间: 04-10 23:30 阅读次数: 0

深入理解java之关于switch的探究

switch是Java条件语句语法之一。在多条件下相对于使用 if/else,使用switch更为简洁。语法是: switch(表达式){ case 值1: 代码1;break; case 值2: 代码2;break; ... case 值n:代码n;break; default:代码n+1 } switch是根据表达式的值不同来执行不同的分支,具体来说,根据表达式的值找匹配的case,然后执行后面的代码,碰到break时结束,如果没有找到匹配的值则执行
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

判断网站大小的方法

PV值:一个网站的所有页面,在一天内,被浏览过的总次数。至少上千万的级别。 UV值:一个网站,在一天内,有多少个用户访问过我们的网站。10万以上。 独立IP:一个网站,在一天内,有多少独立的IP地址来访问我们的网站。 PV值 > UV值 > 独立IP 可以通过第三方站长统计来实现以上的方法。
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

MCP|解读人: 徐洪凯, High-density peptide arrays help to identify linear immunogenic B cell epitopes in individuals naturally exposed to malaria infection(高密度肽段阵列有助于在自然暴露于疟疾感染的个体中识别线性免疫原性B细胞表位)

文献名:High-density peptide arrays help to identify linear immunogenic B cell epitopes in individuals naturally exposed to malaria infection(高密度肽段阵列有助于在自然暴露于疟疾感染的个体中识别线性免疫原性B细胞表位) 期刊名:Mol Cell Proteomics 发表时间:(2019年4月) IF:5.236 单位: 1海德堡大学附属医院寄生虫学感染中心,德
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

vue-cli使用sockjs即时通信

  基于webSocket通信的库主要有 socket.io,SockJS,这次用的是 SockJS。   这里我们使用sockjs-client、stomjs这两个模块,要实现webSocket通信,需要后台配合,也使用相应的模块。 1、sockjs-client   sockjs-client是从SockJS中分离出来的用于客户端使用的通信模块,所以我们就直接来看看SockJS。SockJS是一个浏览器的JavaScript库,它提供了一个类似于网络的对象,SockJS提供了一个连贯的、跨
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

使用PIL库处理图片。

1.找到任意一张图片,生成其缩略图。 from PIL import Image im = Image.open("D:\\图片\\遇龙河.jpg") im.thumbnail((128,128)) im.save("遇龙河缩略图.jpg") 2.对其颜色进行改变。 from PIL import Image im = Image.open("D:\\图片\\遇龙河.jpg") r,g,b = im.split() om = Image.merge("RGB",(b,g,r)) om.
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

使用Mybatis插件generator自动生成代码

使用MyBatis插件generator通过连接数据库自动生成实体类,Mapper.xml,dao等文件 1、pom引用包 <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

oracle变量

sqlplus模式下: var 变量名 变量类型; 例如: var name varchar2(50); select name into :name from t_user; select :name from dual; 切换用户后仍有效,断开sqlplus后无效; declare声明变量和赋值: declare name varchar2(50):='小明'; begin dbms_output.put_line(name); end / 锚定(将变量类型与表中字段类型绑定): decl
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

hibernate写list到mysql

用jpa写下面语句执行报错,估计要先手动转成字符串吧,工作忙没继续下去了。 public void persist(Goods goods) { Assert.notNull(goods); // goods.setId(new Long(1)); List<GoodsItem> goodsItemList = goods.getGoodsItemList(); String jpql ="update Goods good
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

前端反爬虫策略--font-face 猫眼数据爬取

1 .font-face定义了字符集,通过unicode去印射展示。 2 .font-face加载网络字体,我么可以自己创建一套字体,然后自定义一套字符映射关系表例如设置0xefab是映射字符1,0xeba2是映射字符2,以此类推。当需要显示字符1时,网页的源码只会是0xefab,被采集的也只会是 0xefab,并不是1 3 .但是对于正常的用户来说则没有影响,因为浏览器会加载css的font字体为我们渲染好,实时显示在网页中。 4 .所以我们需要做的是,如何在判断请求web字体的是机器人或者
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

Python--猜数游戏

#猜数游戏 import random num_random=random.randint(10,99) n=0 while True: usr_input=input('请输入一个10到99的整数:') if usr_input=="q": print("程序结束") break if usr_input.isdigit(): usr_input = int(usr_input) i
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

PyQt5中的信号与槽,js 与 Qt 对象之间互相调用

一、PyQt中的信号与槽 信号(Signal)和槽(Slot)是Qt中的核心机制,用在对象之间互相通信。在Qt中每个QObject对象和PyQt中所有继承自QWidget的控件(这些都是QObject的子对象)都支持信号与槽机制。当信号发射时,连接的槽函数将会执行。在PyQt5中信号与槽通过object.signal.connect()方法连接。 1.1 关于信号和槽的常识 Qt 提供了信号可以使用,当然你也可以QtCore.pySignal()来自定义信号 一个信号可以连接多个槽; 一个信号
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

ES6 函数

函数参数的扩展 默认参数 基本用法 function fn(name,age=17){ console.log(name+","+age); } fn("Amy",18); // Amy,18 fn("Amy",""); // Amy, fn("Amy"); // Amy,17 注意点:使用函数默认参数时,不允许有同名参数。 // 不报错 function fn(name,name){ console.log(name); } //
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

PIL库的运用

PIL库学习及运用 1.库的介绍Python Imaging Library,简称PIL python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力。 下面是我的学习笔记 首先,先安装PIL库,直接打开cmd,输入pip install pillow,回车即可 这里先展示一下简单的运用,图一是某游戏的截图,经过图像的轮廓获取,得到图二: 获取轮廓的代码如下 1 from PIL import Image 2 from PIL import ImageFilter
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

【转载】建立自己的博客网站需要哪些步骤,并发布到公网上

针对很多开发人员来说,都想建立个个人网站,如个人博客站,那如何建立个人博客网站并最终上线呢。这之间涉及到很多的流程,如网站设计、代码编写、域名采购、云服务器采购、域名备案、网站上线到服务器、域名解析等一系列的操作,此文将分析这些详细的流程步骤。 (1)网站需求分析以及设计 此阶段需要做的事情为确认网站的雏形,例如这个网站最终的目标是要实现哪些功能,有哪些模块组成,每一个模块之间都有啥关联。就拿博主这个站点来分析,本站需要的功能有:(1)网站后台管理模块:菜单管理、博文类别后台管理、文章后台管理
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

机器学习2——学习路线规划

一、学习路线 1)理论基础:微积分、线性代数、概论论与数理统计、典型算法; 2)编程语言、工具和环境: 3)基本工作流程 ===================================================== 二、理论基础 ===================================================== 三、环境准备 ===================================================== 四、工作流程 =====
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

SSM实现图片上传返回预览图心得

Spring MVC 实现文件上传 时序图 利用 Spring MVC 实现文件上传功能,离不开对 MultipartResolver 的设置。MultipartResolver 这个类,你可以将其视为 Spring MVC 实现文件上传功能时的工具类,这个类也只会在文件上传中发挥作用。在配置了具体实现类之后,Spring MVC 中的 DispatcherServlet 在处理请求时会调用 MultipartResolver 中的方法判断此请求是不是文件上传请求。如果是,Dispatcher
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

golang web框架 beego 学习 (三) beego获取参数

直接上常用的例子吧: A: 获取URL中的参数 router func init() { beego.Router("/task/?:id/?:name", &controllers.TaskController{}) } controller func (c *TaskController) Get() { id1 := c.GetString(":id") name1 := c.GetString(":name") id2 := c.Ctx.Inp
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

MySQL逻辑架构概述

1.MySQL逻辑架构 MySQL逻辑架构图 MySQL逻辑架构分四层 1.连接层:主要完成一些类似连接处理,授权认证及相关的安全方案。 2.服务层:在 MySQL据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断,SQL接口,SQL解析,SQL分析优化, 缓存查询的处理以及部分内置函数执行(如日期,时间,数学运算,加密)等等。各个存储引擎提供的功能都集中在这一层,如存储过程,触发器,视图等。 3.引擎层:是底层数据存取操作实现部分,由多种存储引擎共同组成。真正负责MySQL中
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0

C++细节(二)

3.1 左值引用 左值引用,其声明是通过在某个类型后放置一个 & 符号来进行的。 此时,一个左值引用成为了它所引用的对象的同义词。如图 当然,左值引用有以下的几个用途: 1. 给结构复杂的名称起别名   auto & whichList = theList[myhash( x, theList.size() )];  //起别名   if (find(begin(whichList),end(whichList),x)!=end(whichList))     return false;   
分类: 其他 发布时间: 04-10 23:18 阅读次数: 0