【JDK源码分析】通过源码彻底理解ReentrantLock显示锁
前言ReentrantLock和synchronized一样是一个可重入的互斥锁,但ReentrantLock功能更强大,它提供了非公平和公平两种锁争用策略供使用者选择,而synchronized只有非公平一种。ReentrantLock提供了可中断的锁等待机制以及可用于多组线程需要分组唤醒的条件。类图下面是ReentrantLock的类图,内部抽象类Sync继承了AbstractQueuedSy
JQuery元素属性和样式操作、以及设置元素和内容
一、JQury元素属性操作通过JQuery可以对元素本身的属性进行操作,包括获取属性的属性值,设置属性的属性值,并且可以删除属性值(attr()和removeAttr())。二、JQuery样式操作元素样式操作包括了:直接设置css样式、增加css样式、类别切换、删除类别。例如:$('div').css('color');//获取元素行内的css样式颜色。$(
1.java学习---继承
一、继承的基本概述继承的概述就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为。 继承的格式public class 子类 extends 父类{ }继承的优缺点(1)子类自动拥有了父类的非私有的成员,子类也可以有自己的成员。(2)提高了代码的互用性和扩展性。(3)耦合性太高,不利于开发原则:高内聚低耦合。(4)java中只支
Angular6下使用ng-zorro-antd框架的坑
最近因为需要开发一个前后端分离的应用,一看angular6出来了,就立马想要用用看,所以立马确立了angular6+ng-zorro-antd的前端,但是在使用中发现,我没法引入相应的样式,看我的引入没有任何问题,通过1个多小时的查找资料,百度,分析,找出了这个坑。如下,现在项目也完成了也就来记录一下,希望有跟我一样问题的小伙伴可以免去一些麻烦。https://github.com/angular
Hadoop大数据开发学习路线图阶段一
Hadoop发展到今天家族产品已经非常丰富,能够满足不同场景的大数据处理需求。作为目前主流的大数据处理技术,市场上很多公司的大数据业务都是基于Hadoop开展,而且对很多场景已经具有非常成熟的解决方案。作为开发人员掌握Hadoop及其生态内框架的开发技术,就是进入大数据领域的必经之路。下面详细介绍一下,学习Hadoop开发技术的路线图。Hadoop本身是用java开发的,所以对java的支持性非常
Squid-4.1 ACL访问控制、日志分析和反向代理
Squid-4.1ACL访问控制、日志分析和反向代理ACL访问控制Squid提供了强大的代理控制机制,通过结合设置ACL(AccessControlList,访问控制列表)并进行限制,可以针对源地址、目标地址、访问的URL路径、访问时间等各种条件进行过滤。在配置文件squid.conf中,ACL访问控制通过以下两个步骤实现:其一,使用acl配置项定义需要控制的条件;其二,通过http_access
CentOS修改默认启动级别
CentOS6 在CentOS6中可以使用以下命令修改对应的启动级别: vi /etc/inittab ...
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have netwo
rking)
Java进阶篇设计模式之二 ----- 工厂模式
前言 在上一篇中我们学习了单例模式,介绍了单例模式创建的几种方法以及最优的方法。本篇则介绍设计模式中的工厂模式,主要分为简单工厂模式、工厂方法和抽象工厂模式。 简单工厂模式 简单工厂模式是属于创建型模式,又叫做静态工厂方法模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。调用只需要告诉工厂类所需要的类型,工厂类就会返回需要的产品类工厂的子类。 可以说是工厂模式中最简单的一种。 打个比方,我们在电脑经常玩游戏,我们只需要告诉电脑我们要玩什么游戏,电脑就会打开这个游戏,我们并不需要关
Java并发编程原理与实战七:线程带来的风险
在并发中有两种方式,一是多进程,二是多线程,但是线程相比进程花销更小且能共享资源。但使用多线程同时会带来相应的风险,本文将展开讨论。 一、引言 多线程将会带来几个问题: 1、安全性问题 线程安全性可能是非常复杂的,多线程中的操作执行顺序是不可预测的,甚至会产生奇怪的结果,另外由于存在指令重排序的可能,因此实际情况会很糟糕。 有一种常见的并发安全问题叫“竞态条件”。由于多个线程要共享相同的内存地址空间,并且是并发运行,因此它们可能会访问或修改其他线程正在使用的变量。这带来的极大的便利,但是也有巨
基于Angular和Spring WebFlux做个小Demo
前言 随着Spring Boot2.0正式发布,Spring WebFlux正式来到了Spring Boot大家族里面。由于Spring WebFlux可以通过更少的线程去实现更高的并发和使用更少的硬件资源去实现扩展,我对此很感兴趣。同时Angular6也发布了,也想试试自己Angular的功底,便基于Angular和Spring WebFlux做个一个简单礼品管理系统的demo。至于angular和spring boot的集成可以参考该博客Angular和Spring Boot一起做个项目
Sqli-labs Less 1-3
刚刚做完sqli-labs的第一节的第一题(QAQ) 我的时间呀!!!(太笨只能一步一步的往前走) 我使用了两种方法解决的这一题,希望能够帮助到你们 题目是 :GET Error based- Single quotes -String 解题链接:http://127.0.0.1/sqli-labs-master/Less-1/ 关注点:基于错误,单引号,字符型注入。 手工注入: payload1:http://127.0.0.1/sqli-labs-master/Less-1/?id=0 页
Cassandra 学习三 数据模型
Cassandra如何存储数据的概述。 集群(Cluster) ·Cassandra数据库分布在几个一起操作的机器上。最外层容器被称为集群。对于故障处理,每个节点包含一个副本,如果发生故障,副本将负责。Cassandra按照环形格式将节点排列在集群中,并为它们分配数据。 键空间 (Keyspace)(相当于关系型数据库的DataBase) 键空间是Cassandra中数据的最外层容器。Cassandra中的一个键空间的基本属性是 - 复制因子 - 它是集群中将接收相同数据副本的计算
git第九节---git命令实战
1. git 项目创建 mkdir git-command 2.git 配置 git config --list 配置用户名 邮箱 git config user.name 'XXX' --local git config user.password 'XXX' --local git config --global alias.st status 3.初始化成git 项目 git init 远程建立连接 git remote add 远程连接地址 git remote -v 4. 添加.gi
DjangoWeb开发框架入门
1、WEB框架 1.1、MVC框架 Model View Controller 数据库 模板文件 业务处理 1.2、MTV框架 Model Template View 数据库 模板文件 业务处理 2、Django的安装 pip3 install django 3、Django工程创建 3.1、创建Django工程 命令行:django-admin startproject 工程名 例如:使用命令"django-admin startproject mysite"创建mysite工程
[BZOJ 1878][SDOI2009]HH的项链
Link: BZOJ 1878 传送门 Solution: 很久以前这道题我是用$BIT$过的 思路非常简单:离线将询问排序,记录每个点同一颜色的后继节点 随着询问左边界的递增,将处于两次左边界间的节点从$BIT$中删去,而加入其后继节点的位置 接下来统计处于$[l,r]$间的数的个数就好了 同时这道题也是莫队算法的经典适用情况:离线的区间问题 先安利一篇博客:传送门 果然女队的文章写得就是清楚啊 感觉莫队算法实际上就是离线问题中将询问按一定方式排序后的优雅暴力 我们将$n$个点分为$sqrt
mybatis 关联表心得
1,例如订单表与用户表的关联,一个订单对应一个用户,这是一对一关联; 用代码实现是这样: A(用resultType去实现的话,如下) 1,使用到继承, OrderUser extend Order{
private String username;
private String address;
public String getUsername() {
return username;
}
public void setUsernam
今日推荐
周排行