- 博客(41)
- 资源 (3)
- 收藏
- 关注
原创 Python使用入门(二)
and看第一个值, 如果第一个值为真, 结果就是第二个值,否则结果就是第一个值。2.break的作用是立即终止当前循环,并跳出循环体,不再执行循环体内的后续代码。or 看第一个值,如果第一个值为真,结果就是第一个值,否则结果就是第二个值。2.与break不同,continue不会终止所有循环,只是结束当前循环。1.continue关键字用于在循环中结束本次循环,开始下一次循环。当while循环后的条件不成立时,else块中的代码会执行。嫂子今年0b10110岁。如 a=10 b=20。
2025-03-12 22:05:18
926
原创 Python使用入门(一)
想要转为哪种类型,就用这种类型的英文包裹一下如str(...),int(...),bool(...)#字符串转整型,只有类似"453"格式的字符串才可以转为整型,其他都报错。print("sss") #缩进不一致报错。# 右边input("请输入用户名")是让用户输入内容。num1 = input("请输入第一个数字:")num2 = input("请输入第二个数字:")name = input("请输入用户名")name = input("请输入用户名")print("登录失败")
2025-03-08 22:01:49
927
1
原创 CSS 三大特性和盒子模型
Ø 特性:子元素有默认继承父元素样式的特点(子承父业)Ø 可以继承的常见属性:1. color5. ……Ø 注意点:• 可以通过调试工具判断样式是否可以继承1. 盒子的概念1. 页面中的每一个标签,都可看做是一个 “盒子”,通过盒子的视角更方便的进行布局2. 浏览器在渲染(显示)网页时,会将网页中的元素看做是一个个的矩形区域,我们也形象的称之为盒子2. 盒子模型。
2025-02-09 22:24:45
834
原创 css选择器,css背景,元素显示模式
• div、p、h系列、ul、li、dl、dt、dd、form、header、nav、footer……2. 交集选择器中如果有标签选择器,标签选择器必须写在最前面 例如p.red{color:red}• 在选择器1所找到标签的后代(儿子、孙子、重孙子…• (既又原则)找到页面中 既 能被选择器1选中,又 能被选择器2选中的标签,设置样式。1. 块级元素一般作为大容器,可以嵌套:文本、块级元素、行内元素、行内块元素等等……• 在选择器1所找到标签的子代(儿子)中,找到满足选择器2的标签,设置样式。
2025-01-26 14:40:06
678
原创 Css文本样式
Ø 字体大小: font-size• 数字+pxØ 字体粗细:font-weight• 正常:normal 或 400• 加粗:bold 或 700Ø 字体样式:font-style• 正常:normal• 倾斜:italicØ 字体系列:font-family• 具体字体1,具体字体2,具体字体3,具体字体4,...,字体系列Ø 字体连写:fontØ text-align : center 能让那些元素水平居中?1. 文本2. span标签、a标签。
2025-01-09 20:27:42
998
原创 深入理解Redis
Redisson是一个在Redis的基础上实现的基于netty的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供一系列的分布式Java常用对象,还提供了许多分布式服务,其中就包含各种分布式锁的实现。官网:https://redisson.org翻译网站:https://www.bookstack.cn/read/redisson-doc-cn/README.md。
2024-12-23 21:40:26
1206
原创 Neo4j启动时指定JDK版本
项目使用jdk1.8,同时需要安装neo4j5.15版本,使用jdk17.1.mac或者liunx,找到neo4j目录bin的下neo4j文件。2.windows,找到bin下面的neo4j.bat文件。set "JAVA_HOME={JDK文件目录}"
2024-12-01 19:58:30
810
原创 深入理解Kafka
Kafka 本身是分布式集群,可以采用分区技术,并行度高;读数据采用稀疏索引,可以快速定位要消费的数据;Kafka 的 producer 生产数据,要写入到 log 文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样的磁盘,顺序写能到 600M/s,而随机写只有 100K/s。这与磁盘的机械机构有关,顺序写之所以快,是因为其省去了大量磁头寻址的时间。Kafka Broker应用层不关心存储的数据,所以就不用走应用层,传输效率高。
2024-11-30 10:10:16
1310
原创 类加载机制和双亲委派
Overridetry {//name:类名 data:字节数组(字节码文件)//初始化自定义类加载器,会先初始化父类ClassLoader,其中会把自定义类加载器的父加载//器设置为应用程序类加载器AppClassLoader// /Users/wq/study/jvm下创建 com.wq.ha.User1几级目录,将User类的复制类User1.class丢入该目录。
2024-09-13 19:59:06
847
原创 7.Redis数据类型(Bitmap)
它通常用于处理大规模数据集中每个元素的状态,比如用户的在线/离线状态(每个用户对应一个位,表示在线(1)或离线(0))、用户签到情况(每天对应一个位,用户当天签到则将该位设为 1)、消息的去重等等。bitmap是属于redis的string数据类型,Redis中一个字符串类型的值最多能存储512MB 的内容,每个字符串由多个字节组成,每个字节又由8个Bit 位组成,上限为2。统计key的位上为1的数量,通过指定额外的 start 或 end 参数,可以让计数只在特定的位置上进行。返回值: 统计为1的数量。
2024-08-08 15:59:03
1667
原创 6.Redis数据类型(ZSET)
对有序集合中指定成员的分数加上增量 increment,可以通过传递一个负数值 increment ,让分数减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5。下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。返回有序集中,成员的分数值。
2024-08-07 15:41:43
598
原创 4.Redis数据类型(三)
对字段值增加,如果指定的字段不存在,那么在执行命令前,字段的值被初始化为 0。如果哈希表的 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。HMSET key field value [field value ...] 设置指定哈希表中指定字段的值。hset设置指定哈希表中指定字段的值,该命令覆盖散列中存在的指定字段的值。hget获取指定哈希表中指定字段的值。查看指定哈希表中指定的字段是否存在。用于为哈希表中不存在的的字段赋值.获取知道哈希表多个字段的值。获取指定哈希表中所有的键值对。
2024-08-06 16:44:20
334
原创 3.Redis数据类型(二)
lrange key start stop 获取元素(前闭后闭),超过范围的话,只会返回范围内的元素,不会报错。rpop key [count] 删除并返回列表的右端元素。lpop key [count](删除并返回列表的左端元素)可以设置取出的元素个数。lrem key count(要删除的数量) element(要删除的值)移除列表的最后一个元素,并将该元素添加到另一个列表并返回。lpush 插入一个或多个元素到列表的左端。rpush 插入一个或多个元素到列表的右端。获取列表中元素的个数。
2024-08-05 16:17:29
475
原创 2.Redis数据类型(一)
SETRANGE命令我们可以从索引index开始,用你想写入的value值替换掉给定键key所存储的字符串中的部分,这里只接受正数索引。PXAT unix-time-milliseconds:设置以毫秒为单位的unix时间戳对应的时间为过期时间。GETRANGE 获取位于start和end两个索引之间的内容,左右都是闭区间。EXAT unix-time-seconds :设置以秒为单位的unix时间戳对应的时间为过期时间。EX seconds: 以秒为单位设置过期时间。NX: 健不存在的时候设置键值。
2024-08-05 14:33:35
228
原创 1.redis7安装
安装:本次使用的版本为7.0.0.下载上传到 /opt/redis 目录,tar -zxvf redis-7.0.0.tar.gz 解压缩cd redis-7.0.0 执行make执行make install.默认会安装到 /usr/local/bin拷贝 /opt/redis/redis-7.0.0下面的redis.conf 到 /opt/redis下面进入 /opt/redis/redis-7.0.0, cp redis.conf ../redis7.conf。
2024-08-05 10:26:07
389
原创 2.redis配置文件
1. 安装见1 ,将/usr/local/temp/redis-5.0.5的redis.conf复制到安装路径下面bin的同级目录下。进入到 /usr/local/temp/redis-5.0.5 目录下 cp redis.conf /usr/local/anzhuang/redis如图:2.查看文件less - mNredis.conf (-m 显示类似more命令的百分比...
2019-11-04 23:58:22
204
原创 1.redis在liunx下的安装
1.下载redisredis官网下载https://redis.io/ 我下载的为redis-5.0.5.tar.gzredis 是c语言开发的,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境。如果没有gcc环境,需要先安装gcc环境2.安装gcc保证root登录和linux能连外网yum -y install gcc automake autoconf...
2019-11-02 00:20:17
211
原创 求2个数以及多个数的最大公约数
直接贴代码 辗转相除法public class Ab { public static void main(String[] args) { int gcd = gcd(49, 91); System.out.println("2个数最大公约数:"+gcd); int gcd2 = gcd(26460, 12375); ...
2019-07-31 12:09:22
221
转载 10 disruptor并发框架
1.简介 参照http://ifeve.com/disruptor/文档 2.helloworld//自己定义的public class LongEvent { private long value; public long getValue() { return value; } public void setV...
2019-01-09 19:31:59
589
原创 6.queue讲解
并发的queue 1.ConcurrentLinkedQueue 代码实例:package com.wq.队列;import java.util.concurrent.ConcurrentLinkedQueue;/** * @author wangqiang * @date 2018/12/19 18:28 */public class UseQueue {...
2018-12-27 13:35:27
178
原创 7.多线程的设计模式
1.Future模式说明:例子://主函数public class Main { public static void main(String[] args) throws InterruptedException { FutureClient fc = new FutureClient(); Data data = fc.request("请求参数"); ...
2018-12-26 19:54:45
252
原创 5.同步类容器和并发类容器
1.同步类容器都是线程安全的,但在某些场景下可能需要加锁来保护复合操作。复合类操作如:迭代(反复访问元素,遍历完容器中所有的元素)、跳转(根据指定的顺序找到当前元素的下一个元素)、以及条件运算。这些复合操作在多线程并发地修改容器时,可能会表现出意外的行为,最经典的便是 ConcurrentModificationException ,原因是当容器迭代的过程中,被并发的修改了内容,这是由于早期迭代器...
2018-12-19 09:01:40
100
原创 4.单例和多线程
1ThreadLocal.概念:ThreadLocal概念:线程局部变量,是一种多线程并发访问变量的解决方案。与synchronized等加锁的方式不同,ThreadLocal完全不提供锁,而使用以空间换时间的手段,为每个线程提供变量的独立副本,以保障线程安全。从性能上来说,ThreadLocal不具有绝对的优势,在并发不是很高的时候,加锁的性能会更好,但作为一套与锁无关的多线程并发访问变...
2018-12-18 19:03:45
123
原创 3.用wait/notufy模仿 queue队列
直接列代码package com.wq.队列;import com.sun.corba.se.spi.ior.ObjectKey;import java.util.LinkedList;import java.util.concurrent.atomic.AtomicInteger;/** * @author wangqiang * @date 2018/12/17 19...
2018-12-17 20:14:52
198
原创 2.线程之间的通信wait/notify
1.wait/notify都是Object的方法,java为所有的对象都提供了这两个方法。2.wait和notify必须配合synchronized关键字使用3.wait方法释放锁,notify方法不释放锁最开始不用wait/notify的实现,线程t1加元素,t2检测到t1的元素长度为5的时候停止t2线程。package com.wq.线程间通信;import java.u...
2018-12-17 19:23:21
147
原创 1.volatile关键字
1.volatile关键字 线程变量共享 /** * @author * @date 2018/10/30 20:36 */public class RunThread extends Thread{ private volatile boolean isRunning =true; private void setRunning(boolean isRunni...
2018-12-13 20:12:34
133
原创 基于springboot发邮件
1.添加pom对邮件的支持<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>2...
2018-09-13 15:56:10
240
原创 Annotation简要用法(Java反射)
package cn.mldn.test;import cn.mldn.annotation.MyAnnotation;import cn.mldn.vo.Student;import java.lang.annotation.Annotation;import java.lang.annotation.Retention;import java.lang.annotation.Re
2017-09-24 19:14:43
206
原创 了解代理模式
1.建立一个接口类和实现类package cn.mldn.dao;import cn.mldn.vo.User;import java.util.List;/** * Created by wq on 2017/9/18. */public interface IUserDAO { public void doCreate(User vo) throws
2017-09-24 11:37:59
173
原创 java反射模仿struts和spingmvc,自动封装值到实体类
1。工具类package com.util;import com.entity.Student;import javax.servlet.ServletRequest;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.text.SimpleDateFormat;import ja
2017-09-06 20:22:23
480
转载 MySQL数据库将多条记录的单个字段合并成
测试用表结构:CREATE TABLE IF NOT EXISTS `tet` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `url` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 转存表中的数据 `tet`IN
2017-08-24 14:10:29
727
原创 关于类的反射相关学习
一 怎么获取类的实例1.例子package com.reflet;/** * Created by wq on 2017/8/18. */class Student{ private String name; private Integer age;/* public Student(String name,Integer age){
2017-08-18 21:57:53
191
zookeeper核心原理,可作为内部分享
2024-12-01
canal1.7安装包,以及支持镜像库源数据库和目标数据库名不一致的同步
2024-08-09
mongodb6.0.8 ubuntu arch64 mongoshell
2023-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人