- 博客(132)
- 资源 (4)
- 问答 (11)
- 收藏
- 关注
原创 英语语法第十课动词时态
表示动作发生在过去的将来,动作一直持续下去:When I was young, dad said I would be fighting for my future20yearslater.( 在我小的时候,我爸跟我说20年后,我要为自己未来而奋斗)表示动作发生在过去,动作在过去已经完成了,对现在有影响:I have finished my homework. (我已经完成了我的作业),不仔细看的话,很容易认为是现在时态,所以我们按照人们过去—现在—将来的时间顺序和状态,重新划分,得到如下的表格。
2024-07-29 09:01:15
898
原创 英语语法第八课副词
nearly、rather、very、too、fully、almost、extremely、absolutely、slightly、simply、awfully、deeply、really、perfectly、quite、much等等。carefully、properly、anxiously、suddenly、normally、fast、calmly、politely、proudly、softly、warmly、slowly、badly等等。I took the baby carefully.(对)?
2024-07-22 23:06:42
963
原创 英语语法第七课之形容词
比较级:能单独使用,前面能加修饰词(a lot、much、rather、a little、even等),与than连用比较两者You should be more patient.(你应该更耐心)as/the same as/the identical with)more than+名词=not only(不仅、不只)We are more than friend.(我们不只是朋友)This is a (限定)beautiful (描述 )small (大小)wooden ( 物质) table。
2024-07-21 23:23:57
656
原创 英语语法第六课之介词
We finished the project in under a year.(我们在一年内完成了这个项目)There is a tree in front of the school.(学校前面有一棵树)We sit in the front of the bus.(我们坐在公交车的前面)I walked into the school.(我走进了学校)I run across the street.(我跑过马路)I walk in the school.(我在学校里走)
2024-07-21 22:31:00
866
原创 英语语法第五课之代词
合成不定代词谓语动词用单数some- every-开头的用在肯定句中any-开头的用在否定句和疑问句和条件状语从句中no-开头的用在否定句中-thing结尾指物,-one –body结尾指人。Any 肯定句,表示任何的疑问句或者否定句,表示任何一些、任何一个可以修饰可数名词或者不可数名词。你喜欢其他的款式吗?Some 肯定句,表示几个、一些、某个疑问句,表示建议、请求希望可以修饰可数名词或者不可数名词。表示每一个指3个或3个以上的整体中的每一个,侧重于整体形容词只能做定语可以修饰单数名词。
2024-07-21 01:00:39
915
原创 英语语法第一课之英语语法框架
1、noun(名词)词性缩写:n. 常见的名词:apple、cat、China2、pronoun(代词)词性缩写:pron. 常见的代词:we、that、all、who3、numeral(数词)词性缩写:num. 常见的数词:one、ten、fifty、hundred4、article(冠词)词性缩写:art. 冠词:a、an、the5、verb(动词)词性缩写:v. 常见的动词:get、do、play6、adverb(副词)
2024-07-16 23:35:11
259
原创 期权课程之第二节【买方和卖方的误区和区别】
期权和股票不一样,我们, 看涨多买点,看跌了减仓,或者直接离场,就算不看好的公司,一般也不会尝试卖空股票的操作,但。而且期权卖方还有非常多的好处;的策略;对于新手期权买方很好理解,你看好一个股票,买call,股票涨了,你也挣钱;但是卖方就没有这么简单了;首先我们得先澄清下有几个误区。
2024-05-26 09:05:25
353
原创 调色学习第三章之【曲线工具】
X轴:从左到右为最暗到最亮的区域Y轴:从下到上为最暗到最亮的区域所以我们可理解为曲线分为三个部位,分别控制,暗,灰,亮部位所以可以知道,最右边的锚点如果下拉的话,控制的是整个画面最亮的部位,同样的道理,最左边控制的是整个画面最暗的部位案例证明:我们把4选分成了4个部分可以看到提亮亮部的时候,只要亮部受到了影响,暗部没有影响RGB曲线提高红色曲线,画面就会偏红,提高绿色曲线,画面就会偏绿根据三原色原理,如果我们希望颜色黄一点, 可以根据红+绿进行调节。
2024-01-01 12:28:27
471
原创 调色学习第二章之【调色基础面板的认识】
我们发现原图的画面整体是偏红的,我们可以知道减少红色 可以增加补色 青色,所以我们增加绿色+蓝色 从而减低红色。降低高光的时候,红色过曝提示没了,也可以发现好像除了亮部有锁改变,其他地方近乎没有收到影响。从中我们得出结论:当我们想要去提亮一张照片的亮度的时候,白色比高光控制的范畴更大。提高白色,画面直接通透了,但是画面有很多过度曝光的地方;减弱对比的效果 (暗的地方提亮了,能看见头发的细节了)阴影提亮的效果对比图【注意身后的丛林的暗部的对比】黑色提亮的效果对比图【注意身后的丛林的暗部的对比】
2023-12-31 01:00:24
1136
原创 调色学习第一章之【颜色的基本理论】
在纯度最高的时候,就是我们之前所看到那种正红,也就是所谓的标准的红;我们我们认为上,左下角,右下角的颜色为色彩的三原色,他们是可以混合出其他颜色的;上面提到过,三原色可以混合成其他的任何颜色,所以三间色他们的组成由来,可以有如下的方法混合而成。大家先简单的看下色轮的样子,看不懂也没关系,接下里我会告诉大家这些颜色的以此由来。当然两个相邻的颜色,也有其他特殊的色相,比如红和橙紧挨的颜色,我们称之为橙红。这里注意我们讨论的是光线的三原色,而不是颜料的三原色。下面的图很重要,一定要记住!
2023-12-30 18:23:26
998
原创 生产环境中常用Linux命令
太简单的我就不讲解啦,浪费时间,直接将生产中常用的文章目录1.总纲2.整机 top3.CPU vmstat3. 内存 free4. 硬盘: df5. 磁盘IO iostat6. 网络IO ifstat7: 内存过高的情景排查1.总纲整机:topcpu:vmstat内存:free硬盘:df磁盘io: iostat网络io:ifstat2.整机 top首先们要查询整机的状况...
2023-10-11 13:30:06
779
原创 Hadoop教程第一章之Hadoop简介
Hadoop Distributed File Sytem ,简称HDFS , 是一个分布式文件系统: 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等: 在本地文件系统存储文件块数据,以及块数据的校验和每隔一段时间内对NameNode元数据进行备份。
2023-06-02 14:44:44
639
原创 批量处理同列的相同值,合并成一个单元格
4. 我们选中第一列的数据,然后按下ctrl+g 筛选控制,会得到下面的效果。7. 我们再次来到,数据-分类汇总,点击全部删除即可,最后删除A列即可完成。3. 这两个值,要选择要分组的列名,求和方式选个求和就行;然后选中B列的一个数据,进行格式刷即可。1、 鼠标悬浮到你要合并的任意一栏。2、 选择菜单-数据汇总。此时页面变成了如下效果。
2023-05-30 10:19:26
524
原创 手把手教你vlookup两个表格间对应数据的匹配!
区域代码,在表2中,区域代码在表1中,如何通过关联字段 ‘城市’,自动把数据填充过来。第二个参数,B11:C15 : 关联的附表范围 ,查询表选中后,按下F4锁定。第三个参数,2: 要去找查询表的那一列的数据(我们要找表二 第二列的)第四个参数,0 : 是否精确匹配,1近似,0精确。第一个参数,B3 : 当前表的索引条件。Vlookup 参数解析。
2023-05-30 10:12:02
18497
原创 英语语法第一章之英语语法综述
这类似会把后面的属性和主语进行联系起来,比如兔老爹香,怎么香?像这类动词我们称之为。在这里教授的知识是英语,但是教授的对象是你,这里分别是动作的两个承受者,这种动词又叫做。此时翻译起来就感觉少点啥,此时需要一个补充承受者的信息意义完整,因为睡觉,可以独立完成不需要和别人建立联系,这里的动词就叫做。在这里喜欢需要接受一个对象,所以它又叫做。在这里谓语也有很有多的不同的动作。5. 只有一个动作的承受者;,在这里什么就是我们常说的。,而怎么样就是我们常说的。2. 有一个动作的承受着。3. 有两个动作的承受者。
2023-05-02 16:42:14
1053
原创 如何保证缓存和数据库的数据一致性
但是延时双删实现成本很低而且极大的减少了并发问题出现的概率,不失为一种简单实用的手段。目前一些兼容 Redis 协议的中间件已经提供了 CAS 命令的支持,比如阿里的 Tair 以及腾讯的 Tendis。还是以「先更新数据库,再更新缓存」方案中两个写线程竞争为例, 我们要求任何线程在写入或读取数据库前都需要获取排它锁。若缓存更新成功数据库更新失败, 则此后读到的都是未持久化的数据。那么悲观锁能否解决我们的问题呢?若数据库更新成功,删除缓存操作失败,则此后读到的都是缓存中过期的数据,造成不一致问题。
2023-04-12 17:30:13
2476
2
原创 Controller层代码就该这么写,简洁又优雅!
}统一返回数据结构} }正常情况下,我们这样返回结果即可} } 输出结果 {扩展:正确的结果,我们可以预期自己封装Result响应结构,如果是有些预期的返回结果,我们有没有全局封装的方法,他们返回结果自动封装成Result响应结构有些时候 JSR303 标准中提供的校验规则不满足复杂的业务需求,也可以自定义校验规则。自定义注解类,定义错误信息和一些其他需要的内容注解校验器,定义判定规则//自定义注解类 @Target({/**
2023-04-12 14:37:37
1803
原创 JUC并发编程高级篇第七章之AQS(读写锁的优化实践)
主要用于解决锁分配给"谁"的问题体就是一个抽象的FIFO队列来完成资源获取线程的排队工作,并通过一个int类变量表示持有锁的状态比如常用的lock. unlock ,他们如何锁住线程的?阻塞的线程阻塞实现的具体逻辑是什么,这些统统都是AQS实现,可以这么说AQS提出统一 规范并简化了锁的实现,将其抽象出来屏蔽了同步状态管理、同步队列的管理和维护、阻塞线程排队和通知、唤醒机制等,是一切锁和同步组件实现的公共基础部分,由AQS由此衍生出了许多我们耳熟能详的JUC工具类ReentrantLock;
2023-04-10 18:19:54
429
原创 JUC并发编程高级篇第六章之Synchronized锁升级(无锁->偏向锁->自旋锁->重量锁)
先说好结论 ,全文都要都是围绕这几点进行分析的,看不得懂得可以看后面的分析讲解锁对象锁指向偏向锁MarkWord存储的是偏向线程的ID轻量锁MarkWord存储的是线程栈中的LockRecord指针重量锁MarkWord存储是指向堆中的monitor对象的指针。
2023-04-08 19:58:30
510
原创 JUC并发编程高级篇第五章之对象内存布局和对象头[new Object 占用多少字节? ]
对象头主要包括对象标记 (markWord),类元信息(类型指针) , 当我们声明一个类时(没有变量),此时他就是一个对象头。对象的构成主要是由对象头(header),实例数据(instance data),对齐填充(保证8字节的倍数) 组成的。虚拟机要求对象起始地址必须是8字节的整数倍,填充数据不是必须存在的,仅仅是为了字节对齐这部分内存按8字节补充对齐。对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。类元信息存储的是指向对象类元数据的首地址,下面的2点。
2023-04-08 19:27:12
407
原创 JUC并发编程高级篇第四章之ThreadLocal(人手一份,天下安)
ThreadLocal当中ThreadLocalMap的数据结构和关系ThreadLocal的key是弱引用,为什么ThreadLocal的内存泄露ThreadLocal为什么最后加入了remove方法ThreadLocal提供线程局部变量。这些变量与正常的变量不同,因为每一个线程在访问ThreadLocal实例的时候(通过其getiset方法)都有自己的、独立初始化的变量副本。
2023-04-08 14:26:05
536
原创 JUC并发编程高级篇第三章之CAS[Unsafe和原子增强类]
CAS(Compare And Swap)的缩写,中文翻译成比较并交换,实现并发算法时常用到一种技术;他包含了3个操作数 ----- 内存位置,,预期原值,更新值。执行CAS操作的时候,将内存位置的值与原值进行比较如果相匹配,那么处理器会自动将该位置的值更新为新值如果不匹配,处理不做任何操作,多个线程同时执行CAS操作,只有1个会成功。
2023-04-08 11:05:31
646
原创 JUC并发编程高级篇第二章之Volatile(解决数据可见性和可续性)
Volatile是Java中的一个关键字,用于修饰变量。当一个变量被声明为volatile时,它的值可能会被多个线程同时访问和修改。volatile 的底层实现原理是内存屏障,也称内存栅栏,屏障指令等,是一类同步屏障指令,是CPU或编译器在对内存随机访问的操作中的一个同步点,使得此点之前的所有读写操作都执行后才可以开始执行此点之后的操作,避免代码重排序。
2023-04-07 16:23:08
534
原创 JUC并发编程高级篇第一章之Java内存模型(解决读取数据不一致的问题)
JMM 即 Java Memory Model,它本身是一种抽象的概念,并不是真实存在的,他仅仅描述了是一组约定和规范;通过这个规范定义了程序多个变量的读写方式,并决定一个线程对共享变量的写入何时以及如何变成对一个线程可见,关键他它定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。
2023-04-07 14:46:24
471
原创 JUC并发编程基础篇第六章之LockSupport[notify,signal之外的另一种唤醒方式]
LockSupport类使用了一种名叫Permit的概念来做到阻塞和唤醒线程的功能,每个线程都有一个许可,但是与Semaphore不同,许可的累加上限是1。因为unpark获得了一个凭证,之后再调用park方法,就可以名正言顺的凭证消费,故不会阻塞。总结: Condition中的线程等待和唤醒都需要先获取锁,一定要先await,然后signal,顺序不能反。虽然unpark是一个生成一个许可证,但是他的上限只有1,只能通过1park,后面就无法通过了;一般情况下,我们们有如下3种办法去唤醒一个线程。
2023-04-06 16:17:55
421
原创 JUC并发编程基础篇第五章之线程中断状态[你理解的线程中断,只会Thread.interrupted()吗]
首先 - 线程的中断不应该由其他线程来中断或者停止,而是自己线程中断和停止;自己决定的命运,所以Thread.stop, Thread.suspend, Thread.resume都废弃了;其次 - 在java中没法立即停止一个线程,然后停止线程却显得尤为重要java中提供了一种用于停止线程的协商机制 – 中断, 也即中断标识协商机制中断只是一种协商机制,java中没有给中断增加任何语法,中断的过程完全由程序员自己实现。
2023-04-06 16:04:37
272
原创 JUC并发编程基础篇第四章之公平锁/重入锁/死锁[常见锁的基本认识]
概念: 可重入锁,也称为递归锁,是一种支持线程再次获取自身已经持有的锁的锁机制。换句话说,可重入锁允许一个线程在持有锁的情况下再次获取同一个锁,而不会发生死锁或其他问题。作用: 在多线程编程中,可重入锁能够有效地防止死锁和其他线程安全问题。当一个线程在持有锁时,如果它需要再次获取同一个锁(例如在递归调用时),如果锁不是可重入的,那么该线程将会被阻塞,导致死锁或其他问题的发生。而可重入锁允许同一个线程多次获取锁,从而避免了这种情况的发生。实现方法。
2023-04-06 15:57:58
690
原创 JUC并发编程基础篇第三章之Synchronized八锁案例[理解锁的对象]
作用对象锁的范围对于普通方法锁的是当前对象this对于静态方法锁的是当前类的class对象,如Iphone.class唯一的一个模板对于同步代码块锁的是synchronized(?) 里面的对象。
2023-04-06 15:28:57
907
空空如也
springmvc json转义 特殊字符问题
2021-05-19
Elacksearch 生命周期 一直报错
2020-12-24
ES 自动删除的时候,不删除指定数据
2020-12-08
大数据量 list.add()的问题
2020-09-02
es 模糊查询默认
2020-08-28
ES 多条件搜索问题
2020-07-21
MySQl子查询为null,导致主查询的固定值为空
2020-01-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人