随笔 基础redis java

JUC6_Java的锁Java锁之可重入锁和递归锁

可重入锁和递归锁ReentrantLock 概念 可重入锁就是递归锁 指的是同一线程外层函数获得锁之后,内层递归函数仍然能获取到该锁的代码,在同一线程在外层方法获取锁的时候,在进入内层方法会自动获取锁 也就是说:线程可以进入任何一个它已经拥有的锁所同步的代码块 ReentrantLock / Syn ......
Java JUC6_Java JUC6 JUC

JUC6_Java的锁Synchronized无法禁止指令重排却能保证有序性

为什么Synchronized无法禁止指令重排,却能保证有序性 前言 首先我们要分析下这道题,这简单的一个问题,其实里面还是包含了很多信息的,要想回答好这个问题,面试者至少要知道一下概念: Java内存模型 并发编程有序性问题 指令重排 synchronized锁 可重入锁 排它锁 as-if-se ......
有序性 Synchronized 指令 JUC6_Java JUC6

Redis中的跳跃表

Redis中的跳跃表 前言 跳跃表是一种有序的数据结构,它通过在每个节点维持多个指向其他节点的指针,从而达到快速访问节点的目的。 什么是跳跃表 对于单个链表来讲,即便链表中存储的数据是有序的,如果我们要向在其中查找某个数据,它只能从头到尾遍历链表。这样查找效率就会很低,时间复杂度会很高,达到了O(n ......
Redis

Redis中的数据结构

Redis中的数据结构 前言 Redis是一个高性能的分布式内存数据库,在国内外个大互联网公司中都有着广泛的使用,即使是一些非互联网公司也有着非常重要的使用场景。 Redis提供了五种主要的数据类型,它提供了强大且实用的功能,然而实际开发中,有大多数的开发者仅仅只会使用简单的 Redis Strin ......
数据结构 结构 数据 Redis

Redis_大白话谈IO模型

通俗理解多种IO模型 前言 我们以故事来讲我们经常遇到的多种IO模型,首先故事的情节是 老李去买火车票,三天后买到一张退票,其中往返车站耗时1小时。 里面主要包含的人员有:老李,黄牛,售票员,快递员 多种IO模型 阻塞IO模型 老李去火车站买票,排了三天队买到一张退票 耗费:在火车站等了三天,其它一 ......
大白话 大白 模型 Redis

Java8新特性5_并行流

并行流与顺序流 并行流 并行流就是把一个内容分成多个数据库,并用不同的线程分别处理每个数据块的流 Java8中将并行流进行了优化,我们可以很容易的对数据进行并行操作,Stream API可以声明性的通过parallel() 与 sequential() 在并行流与顺序流之间进行切换 Fork/Joi ......
特性 Java8 Java

Java8新特性1_HashMap变化

Java8新特性 主要特性 Lambda表达式 函数式接口 方法引用与构造器引用 Stream API 接口中默认方法与静态方法 新时间日期API 最大化减少空指针异常(Optional) 。。。。 HashMap1.7 在JDK1.7 到 JDK1.8的时候,对HashMap做了优化 首先JDK1 ......
特性 HashMap Java8 Java

Java8新特性4_强大的Stream

Stream API 了解Stream Java8中有两个比较大的改变 Lambda表达式 Stream API (java.util.stream.*) Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找,过滤和映射数据等操作。使用Strea ......
特性 Stream Java8 Java

Java8新特性6_Optional容器类

Optional类 概念 Optional类是一个容器类,代表一个值存在或者不存在,原来null表示一个值不存在,现在Optional可以更好的表达这个概念,并且可以规避空指针异常 常用方法 Optional.of:创建一个Optional实例 Optional.empty:创建一个空的Option ......
容器 Optional 特性 Java8 Java

Java8新特性2_Lambda表达式

Lambda表达式 为什么要用Lambda表达式 Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码,将代码像数据一样传递,这样可以写出更简洁、更灵活的代码,作为一个更紧凑的代码风格,使Java语言表达能力得到了提升 实例代码 Lambda表达式最先替代的就是匿名内部 ......
表达式 特性 Lambda Java8 Java

Java8新特性3_方法引用和构造器

方法引用与构造器引用 方法引用 概念 若Lambda体中的内容有方法已经实现了,我们可以使用“方法引用”,可以理解为方法引用是Lambda表达式的另外一种表现形式 格式 对象::实例方法名 类::静态方法名 类::实例方法名 注意 Lambda体中,调用方法的参数列表与返回值类型,要与函数式接口中抽 ......
特性 方法 Java8 Java

java 学习基础知识

一、java学习路线 入门:学习Java基础知识,了解面向对象编程思想等基本概念。 进阶:深入了解Java的高级特性,如多线程编程、网络编程等;学习Java框架,如Spring、Hibernate、MyBatis等。 实践:通过实战项目,深入理解Java应用开发过程中的各种问题,提升实践能力和经验。 ......
基础知识 基础 知识 java

CentOS7---部署LNMP数据存储到redis

一、部署LNMP及redis 1、部署LNMP,需要将 tengine-2.2.0.tar.gz 拷贝到虚拟机的 /root 目录下 步骤一:安装nginx 源码安装相关软件包 # pcre-devel做正则匹配,zlib-devel做数据压缩 [root@template ~]# yum -y i ......
CentOS7 数据 CentOS redis LNMP

redis在linux的操作

redis redis特性 速度快,10w ops(秒读写)数据都是内存操作,c语言实现。 单线程模型,所有的读写是同步的,不会出现脏读脏写 持久化:rdb和aof策略 多种数据结构:5大数据结构 支持多种编程语言:基于tcp通信协议,各大编程语言都支持通信 功能丰富:发布订阅(消息) Lua脚本, ......
redis linux

Dockerfile详细使用、docker私有仓库、dockercompose介绍、dockerpose部署flask+redis项目

昨日内容 # 1 容器其他操作 1 docker start 容器id 2 docker stop 容器id 3 docker rm 容器id 4 docker rm `docker ps -aq` # 正在运行的容器不能删除 5 docker exec 容器id 命令 6 docker cp 宿主 ......

爬取的数据存mysql中、加代理,cookie,header,加入selenium、布隆过滤器、scrapy-redis实现分布式爬虫

上节回顾 # 1 scrapy架构 -爬虫:写的一个个类 -引擎: -调度器:排队,去重 -下载器 -pipline -下载中间件 -爬虫中间件 # 2 命令 -scrapy startproject 项目名 -scrapy gensipder 爬虫名 网址 -scrapy crawl 爬虫名字 - ......

WPF基础学习-统一面板 (UniformGrid)

WPF基础学习-统一面板 (UniformGrid) 1. 样式如下: 实现代码: <Grid> <UniformGrid> <TextBlock Margin="0 0 0 0" Text="1" Width="100" Height="150"/> <TextBlock Margin="10,5 ......
UniformGrid 面板 基础 WPF

12306系统会员基础功能的实现

乘车人表的设计 新增/修改时间保存到毫秒 drop table if exists `passenger`; create table `passenger` ( `id` bigint not null comment 'id', `member_id` bigint not null comme ......
功能 基础 会员 系统 12306

Java中生成二维码

代码如下: import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxin ......
Java

Java并发工具合集JUC大爆发!!!

并发工具类 通常我们所说的并发包也就是java.util.concurrent(JUC),集中了Java并发的各种工具类, 合理地使用它们能帮忙我们快速地完成功能 。 作者: 博学谷狂野架构师 GitHub:GitHub地址 (有我精心准备的130本电子书PDF) 只分享干货、不吹水,让我们一起加油 ......
工具 Java JUC

Java基础

1. 数据类型 1.1 基本类型 byte/8 char/16 short/16 int/32 float/32 long/64 double/64 boolean/~ 1.2 包装类型 byte=>Byte char=>Character short=>Short int=>Integer flo ......
基础 Java

Scratch基础(一):安装和了解软件

Scratch基础(一):安装和了解软件 编写计算机程序代码的能力是当今社会读写能力的重要组成部分。当人们学习使用Scratch进行编码时,他们将学习解决问题,设计项目和交流思想的重要策略。 1、安装和了解ScratchScratch是一款积木式少儿编程软件,专为8到16岁而设计。通过类似拖动积木块 ......
Scratch 基础 软件

Java中的goto

Java中的goto关键字 在C/C++中,goto常被用于跳出多重循环。但goto 语句的使用往往会使程序的可读性降低,所以 Java 不允许 goto 跳转。实际上,自从“goto有害论”提出后,软件开发就不建议使用goto了,但是Java中依然保留了goto这个关键字留作备用,但这个关键字没有 ......
Java goto

1 redis介绍 、2 redis linux下安装 、3 redis启动方式、4 redis典型场景 、5 redis通用命令 、6 数据结构和内部编码 、7 redis字符串类型

1 redis介绍 # 特性 Redis特性(8个) # 速度快:10w ops(每秒10w读写),数据存在内存中,c语言实现,单线程模型 # 持久化:rdb和aof # 多种数据结构: 5大数据结构 BitMaps位图:布隆过滤器 本质是 字符串 HyperLogLog:超小内存唯一值计数,12k ......
redis 数据结构 字符串 字符 场景

1.9、M蚁Java必问面试题及答案 有用的内容不多 看1

一面 1、自我介绍、自己做的项目和技术领域 开放题 2、项目中的监控:那个监控指标常见的有哪些? 答:CPU、内存、IO 等等。建议下载个nmon工具,里面有各个指标。 数据库:Mysql(缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数) 中间件:1.消息2、负载均衡3、缓存(包括线程数 ......
有用 答案 内容 Java 1.9

java基本内容

字面量 定义:数据在程序中的书写格式 分类 制表符:\t 无限循环 for(;;){ System.out.println("");}​while(true){ System.out.println("");}​do{ System.out.println("");}while(true); 跳转循 ......
内容 java

Java获取昨天的时间

Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -1); String yesterday = new SimpleDateFormat( "yyyy-MM-dd ").format(cal.getTime()); Syst ......
时间 Java

java 命名推荐

一、Java中的命名规范 好的命名能体现出代码的特征,含义或者是用途,让阅读者可以根据名称的含义快速厘清程序的脉络。不同语言中采用的命名形式大相径庭,Java中常用到的命名形式共有三种,既首字母大写的UpperCamelCase,首字母小写的lowerCamelCase以及全部大写的并用下划线分割单 ......
java

Java 4种校验注解(值校验、范围校验、长度校验、格式校验)

1 Maven依赖 <!--第一种方式导入校验依赖--> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> < ......
注解 长度 范围 格式 Java

Java开发笔记13(树的结构修改记录)

1.Controller: /** * 区域树生成 */@GetMapping("/list")private Result regionTree() { Station station = getStation(getUser()); String stationCode = station.ge ......
结构 笔记 Java