自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (10)
  • 论坛 (1)
  • 收藏
  • 关注

转载 Java并发编程:CountDownLatch、CyclicBarrier和Semaphore

在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。  以下是本文目录大纲:  一.CountDownLatch用法  二.CyclicBarrier用法  三.Semaphore用法  一.CountDownLatch用法  CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比

2020-05-30 16:36:37 55

原创 顺时针打印矩阵题解

题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix =[[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制:0 <= matrix.length <= 1000 <= matrix[i].len...

2020-05-29 20:54:45 71

转载 Python3 数据结构

列表Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。以下是 Python 中列表的方法:方法 描述 list.append(x) 把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]。 list.extend(L) 通过添加指定列表的所有元素来扩充列表,相当于 a[len(a):] = L。 list.insert(i, x) 在指定位置插入一个元素。第一个参数是准备插入到其前

2020-05-29 19:15:54 80

原创 scala创建二维数组,获取行数和列数

创建二维数组(在scala worksheet中):import Array._var matrix = ofDim[Int](3,4)var rows = matrix.lengthvar cols = matrix(0).lengthprintln(rows)println(cols)3行4列的矩阵(二维数组)java中:public class Matrix { public static void main(String[] args) { .

2020-05-29 19:12:10 538

原创 对称二叉树题解

题目:请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。1/ \2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的:1/ \2 2\ \3 3示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:...

2020-05-29 18:00:46 68

原创 二叉树的镜像题解

题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:4/ \2 7/ \ / \1 3 6 9镜像输出:4/ \7 2/ \ / \9 6 31示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]限制:0 <= 节点个数 <= 1000思路:递归的交换左右子树代码:...

2020-05-29 17:21:59 67

原创 树的子结构题解(java)

题目:输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A:3/ \4 5/ \1 2给定的树 B:4/1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1:输入:A = [1,2,3], B = [3,1]输出:false示例 2:输入:A = [3,4,5,...

2020-05-29 14:23:34 80

转载 Java 并发编程:volatile的使用及其原理

Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:volatile的使用及其原理 一、volatile的作用  在《Java并发编程:核心理论》一文中,我们已经提到过可见性、有序性及原子性问题,...

2020-05-28 19:39:16 58

转载 Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)

Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:volatile的使用及其原理 一、线程的状态  Java中线程中状态可分为五种:New(新建状态),Runnable(就绪状态),Runnin...

2020-05-28 19:28:59 63

转载 Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)

Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:volatile的使用及其原理 一、重量级锁  上篇文章中向大家介绍了Synchronized的用法及其实现的原理。现在我们应该知道,Synchr..

2020-05-28 19:28:48 85

转载 Java 并发编程:核心理论

Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:volatile的使用及其原理   并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程.

2020-05-28 19:28:28 69

转载 Java并发编程:Synchronized及其实现原理

Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:volatile的使用及其原理 一、Synchronized的基本使用  Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单...

2020-05-28 19:28:22 73

转载 mysql存储过程

存储过程简介SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。存储过程的优点:(1)

2020-05-28 18:24:04 105

转载 java大数据学习路线

目录:一.大数据方向工作介绍二.大数据工程师的技能要求三.大数据学习路径四.学习资源推荐(书籍、博客、网站)一.大数据方向工作介绍大数据方向的工作目前分为三个主要方向:01.大数据工程师02.数据分析师03.大数据科学家04.其他(数据挖掘本质算是机器学习,不过和数据相关,也可以理解为大数据的一个方向吧)二.大数据工程师的技能要求附上二份比较权威的大数据工程师技能图(图侵删)总结如下:必须技能10条:01.Java高级(虚拟机、并发...

2020-05-28 14:17:58 114

转载 JAVA 浮点数的范围和精度

(一)IEEE754标准IEEE754标准即IEEE浮点数算术标准,由美国电气电子工程师学会(IEEE)计算机学会旗下的微处理器标准委员会发布。以32位float数据为例,在内存中的存储形式是1bit的符号位(S),8bit表示指数部分(Exp),23表示小数部分的尾数(Fraction)。表一单精度浮点数在内存中存储形式 1bit符号 8bit指数部分 23bit尾数 符号位——S取0时表示负数,取1时表示负数。...

2020-05-28 11:22:24 132

原创 平衡二叉树的判断

题目:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } .

2020-05-26 22:33:32 80

原创 二叉树每个节点的高度

题目:树节点的结构为:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */求每个节点的高度,并保存在节点的val中代码: public int height(TreeNode root)

2020-05-26 22:21:59 265

原创 相同的树(二叉树)

题目:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。代码:class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { //一棵为空,一棵不为空,两棵皆不为空但是根节点的值不相同,则两棵树一定不相同 if(p == null && q != null || p != nu.

2020-05-26 21:31:29 90

转载 数学七大基本思想方法

第一:函数与方程思想(1)函数思想是对函数内容在更高层次上的抽象,概括与提炼,在研究方程、不等式、数列、解析几何等其他内容时,起着重要作用(2)方程思想是解决各类计算问题的基本思想,是运算能力的基础高考把函数与方程思想作为七种重要思想方法重点来考查第二:数形结合思想:(1)数学研究的对象是数量关系和空间形式,即数与形两个方面(2)在一维空间,实数与数轴上的点建立一一对应关系在二维空间,实数对与坐标平面上的点建立一一对应关系数形结合中,选择、填空侧重突出考查数到形的转...

2020-05-26 14:41:21 594

转载 十大排序算法和七大查找算法总结(原理讲解和代码实现)

0. 干货总结0.1 整体分类首先让我们宏观的分类一下几种排序算法:我们平常所说的排序算法大部分是指内部排序算法,其实还有三种常见的外部排序算法~那么什么是内部排序和外部排序呢?所谓的内排序是指所有的数据已经读入内存,在内存中进行排序的算法。排序过程中不需要对磁盘进行读写。同时,内排序也一般假定所有用到的辅助空间也可以直接存在于内存中。与之对应地,另一类排序称作外排序,即内存中无法保存全部数据,需要进行磁盘访问,每次读入部分数据到内存进行排序。下面给出它们的具体分类: 内部排序算法

2020-05-25 21:24:42 300

转载 算法中的渐进符号

1.记号:(渐进确界)::表示={ f(n):存在常数c1,c2,,对所有的,有:}2.O记号:(渐进上界)记号渐进给出一个函数的上下界,当只有渐近上界时,使用“O”记号。={ f(n): 存在常数c,,对所有的,有:},因为记号强于O记号。例子:任意一个线性函数也在中。注:该记号在有些文献中会代替符号13.记号:(渐进下界)={ f(n):存在正常数,使得对所有的,有}请看图示说明:4.o记号(非渐进紧确上界):={ f(n),对任意正常数c,.

2020-05-25 14:14:25 159

转载 进制转换:二进制、八进制、十进制、十六进制相互转换

将二进制、八进制、十六进制转换为十进制二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。假设当前数字是 N 进制,那么:对于整数部分,从右往左看,第 i 位的位权等于Ni-1对于小数部分,恰好相反,要从左往右看,第 j 位的位权为N-j。更加通俗的理解是,假设一个多位数(由多个数字组成的数)某位上的数字是 1,那么它所表示的数值大小就是该位的位权。1) 整数部分例如,将八进制数字 53627 转换成十进制:53627 = 5×8.

2020-05-25 13:52:53 273

转载 原码, 反码, 补码 详解

一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。那么,这里的 00000011 和 10000011 就是机器数。2、真值因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如.

2020-05-25 13:46:21 87

转载 Linux 文件权限管理

1.文件权限的概述在Linux系统下,使用权限来保护资源的安全将是一种不错的选择。系统中每个文件的权限都有可读(r)、可写(w)和可执行(x)这三种权限,它们分别对应权限数值4、2 和1。系统为每个文件和目录都设有默认的权限,每个文件中可分有拥有者(u)、同群组的用户(g)和其他组用户(o)。文件的类型不同,权限就有所不同,虽然每个文件的权限都是 777,但在创建一个文件时,并没有看到该文件的权限是777,这是由于掩码的作用使得某些权限被屏蔽。对于每个文件,其都由不同的信息组成,如图所示,这是我

2020-05-25 12:18:46 96 1

转载 Ubuntu无法安装rpm包,ubuntu RPM should not be used directly install RPM packages, use Alien instead!

简单来说,Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb。sudo apt-get install alien #alien默认没有安装,所以首先要安装它sudo alien xxxx.rpm #将rpm转换位deb,完成后会生成一个同名的xxxx.debsudo dpkg -i xxxx.deb #安装注意,用alien转换的deb包并不能保证100%顺利安装,所以可以找到deb最好直接用deb有时候,我们想要使用的软件并没有被包含到 U

2020-05-25 12:08:54 101

转载 Linux下deb包和rpm包的安装方法

在linux下我们安装软件,很多下载下来的软件是.deb包或者是.rpm包,今天来看看它们的安装方法与区别。一、deb是 ubuntu 、debian 的格式,是debian发行版的软件包,ubuntu是基于debian 发行的 所有可以用。dpkg 是Debian Package的简写,是为Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu、Knoppix 等。以下是一些 Dpkg 的普通用法:1、..

2020-05-25 12:07:25 179

转载 Mongodb介绍

  MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前noSql数据库产品中最热门的一种。它在许多场景下用于替代传统的关系型数据库或键值对存储方式,MongoDB是用C++开发,MongoDB的官方网址为http://www.mongodb.org/1、为什么要用 NoSQL1.1 NoSQL 简介    NoSQL,全称是”Not Only Sql”,指的是非关系型的数据库。这类数据库主要有这些特点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模.

2020-05-20 19:49:25 95

转载 redis应用场景

Redis作为一个非关系型数据库,除了在访问速度上拥有显著优势外,其本身支持的多种数据类型也非常有用,能覆盖系统开发中的很多应用场景。下面列举的场景有的是从网上其他人的博客里看到的,有的自己开发时尝试过的一些解决方案后记录下来的,希望能给以后的开发带来启发。在说应用场景前先说一些是否觉得使用Redis的建议使用建议Redis 速度快是建立在内存数据库基础上的,但是一台服务器的内存要比磁盘金贵许多,所以在项目初期不要想什么都往 Redis 里放,这样当数据量上来后很快内存就会不够用,反而得不偿失。

2020-05-20 19:37:25 154

转载 Redis 持久化

Redis 持久化Redis 提供了不同级别的持久化方式:RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储. AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾.Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大. 如果你只希望你的数据在服务器运行的时候存在,你也可以不使用任何持久化方式. 你也可以同时开启两种持久化方式, 在这种情况下, 当redis重启的时候

2020-05-20 19:33:07 67

转载 redis事务

事务MULTI、EXEC、DISCARD和WATCH是 Redis 事务相关的命令。事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 EXEC命令负责触发并执行事务中的所有命令:如果客户端在使用MULTI开启了一个事务之后,却因为断线而没有成功执行EXEC...

2020-05-20 19:24:11 69

转载 平衡二叉树、B树、B+树、B*树

1、平衡二叉树概念平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构;特点:平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则:(1)非叶子节点只能允许最多两个子节点存在。(2)每一个非叶子节点数据分布规则为左边的子节点小当前节点的值,右边的子节点大于当前节点的值(这里值是基于自己的算法规则而定的,比如hash值);平...

2020-05-20 19:14:46 74

转载 MySQL索引背后的数据结构及算法原理

摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。第二部分结合MySQL数据库中MyIS

2020-05-20 19:03:09 186

转载 MongoDB索引优化详解

索引基础知识什么是索引索引最常用的比喻就是书籍的目录,查询索引就像查询一本书的目录。本质上目录是将书中一小部分内容信息(比如题目)和内容的位置信息(页码)共同构成,而由于信息量小(只有题目),所以我们可以很快找到我们想要的信息片段,再根据页码找到相应的内容。同样索引也是只保留某个域的一部分信息(建立了索引的field的信息),以及对应的文档的位置信息。假设我们有如下文档(每行的数据在MongoDB中是存在于一个Document当中)姓名 id 部门 city score

2020-05-20 18:39:43 61

转载 jackson设置返回null为空字符串

1、将接口返回的字段为null的设置为空字符串:import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.databind.JsonSerializer;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.SerializerProvider;import org.sprin

2020-05-13 12:53:27 861

转载 java-用Jackson反序列化枚举

问题:我正在尝试并且未能对Jackson 2.5.4的枚举进行反序列化,并且我不太清楚我的情况。 我的输入字符串是驼峰式的,我只想映射到标准的Enum约定。@JsonFormat(shape = JsonFormat.Shape.STRING)public enum Status { READY("ready"), NOT_READY("notReady"), NOT_READY_AT_ALL("notReadyAtAll"); private static M

2020-05-12 09:46:28 790

转载 使用普通类直接实现枚举

  在Python中,枚举和我们在对象中定义的类变量时一样的,每一个类变量就是一个枚举项,访问枚举项的方式为:类名加上类变量,像下面这样:classcolor():YELLOW=1RED=2GREEN=3PINK=4# 访问枚举项print(color.YELLOW)# 1  虽然这样是可以解决问题的,但是并不严谨,也不怎么安全,比如:  1、枚举类中,不应该存在key相同的枚举项(类变量...

2020-05-11 15:02:09 90

转载 python logging模块使用

简单使用#!/usr/local/bin/python# -*- coding:utf-8 -*-import logginglogging.debug('debug message')logging.info('info message')logging.warn('warn message')logging.error('error message')logging.critical('critical message') 输出:WARNING:root:warn.

2020-05-11 14:55:58 65

转载 java如何消除太多的if else判断?

1.简介if判断语句是很多编程语言的重要组成部分。但是,若我们最终编写了大量嵌套的if语句,这将使得我们的代码更加复杂和难以维护。让我们看看能否使用别的方式来做呢。设计模式是为了更好的代码重用性,可读性,可靠性,可维护性,它有六大原则      1)单一职责原则(Single Responsibility Principle,简称SRP):该原则是针对类来说的,即一个类应该只负责一项职责.      2)开放--封闭原则(The Open-Closed Principle简称OCP):是说

2020-05-11 11:17:22 280

转载 js代码如何断点debug调试

介绍的过程还是以一个测试例子来演示,这样更直观也更容易理解 使用谷歌浏览器打开一个测试的html文件,里面包含简单的js代码(只做演示) 按F12打开网页调试工具,默认打开的是Elements,显示的是网页标签元素,如下图 给js代码打断点,首先需要找到js资源文件,选择Source的tab标签,出现资源文件目录,选择对应的js代码文件 ...

2020-05-08 17:11:01 311

转载 maven中scope属性

Dependency Scope在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:* compile,缺省值,适用于所有阶段,会随着项目一起发布。* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。* runtim...

2020-05-08 14:17:24 80

mariadb-connector-odbc-3.1.3-win64.msi

mariadb-connector-odbc-3.1.3-win64.msi,mariadb的odbc驱动程序

2019-08-15

mariadb-java-client-2.4.3.jar

mariadb-java-client-2.4.3.jar,mariadb的驱动程序,用于java程序

2019-08-15

netty-socketio api接口文档.7z

netty-socketio api接口文档,通过idea生成的netty-socketio的doc文档,api接口文档

2019-10-18

chromedriver_win32.zip

chromedriver_linux64.zip支持77的chrome,用于python爬虫,windows版

2019-08-30

chromedriver_linux64.zip

chromedriver_linux64.zip支持77的chrome,用于python爬虫,linux版

2019-08-30

spoonwep2.rar

BackTrack3下使用的用于破解使用wep加密的wifi的工具。

2019-08-29

phpMyAdmin-4.9.0.1-all-languages.zip

phpMyAdmin-4.9.0.1-all-languages.zip为mysql提供图形管理工具

2019-08-15

mariadb-10.4.6-winx64.msi

mariadb-10.4.6-winx64.msi是mariadb的windows的安装程序。

2019-08-15

mongodb-manual-master.epub

mongodb-manual-master.epub,是mongodb的官方手册,官方教程

2019-08-15

nexus-3.18.0-01-unix.tar.gz

nexus-3.18.0-01-unix.tar.gz unix ,linux平台上的nexus,3.18.0版本

2019-08-08

绝圣弃智-零的留言板

发表于 2020-01-02 最后回复 2020-03-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除