自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 跑SOFA demo踩得坑

运行sofa官方demo一波三折。

2024-04-05 00:02:42 293

原创 关于博客迁移的说明

为了未来更好地学习和记录,方便个人的维护和开发,故将博客迁移至https://lujianyun06.github.io/望各位赏光~~~

2020-04-11 15:07:25 166

原创 只用位运算不用算术运算实现整数的加减乘除运算

只用位运算不用算术运算实现整数的加减乘除运算给定两个32位整数a和b,可正,可负,可0,不能使用算术运算符,分别实现a和b的加减乘除运算不考虑溢出用位运算实现加法如果不考虑进位,a^b就是正确结果。在只算进位的情况下,也就是只考虑a加b的过程中进位产生的值是什么,结果就是(a&b)<<1,因为在第i位只有1与1相加才会产生进位。把完全不考虑进位的相加值与...

2020-04-08 11:20:17 421

原创 rabbitmq的一些笔记

》如果没有交换机,那么routekey就必须是队列名,否则通道不知道要把消息传到哪个队列中去》RabbitMQ 默认将消息顺序发送给下一个消费者,这样,每个消费者会得到相同数量的消息。即轮询(round-robin)分发消息。假如信息a已经被发送给了消费者1,那么一定会等到信息a的ack返回后,才会把信息b发送给消费者2(即下一个消费者),不管消费者1空闲与否或者其他消费者空...

2020-04-07 17:11:32 211

原创 mybatis的懒加载

MyBatis 是否支持延迟加载(懒加载)?延迟加载的原理是什么?延迟加载的原理的是调用的时候触发加载,而不是在初始化的时候就加载信息。比如调用 a. getB(). getName(),这个时候发现 a. getB() 的值为 null,此时会单独触发事先保存好的关联 B 对象的 SQL,先查询出来 B,然后再调用 a. setB(b),而这时候再调用 a. getB(). getName(...

2020-03-22 11:45:13 1077

原创 brew从国内源安装

最近按照默认方法安装brew特别慢,但是想切换从国内源安装,得到的都是老版本的切换方法:https://segmentfault.com/a/1190000018360813因为安装brew的脚本现在不是ruby脚本,改成了shell脚本,而且脚本地址也改变了,所以也需要改变一下安装策略:首先把https://raw.githubusercontent.com/Homebrew/...

2020-03-19 16:48:04 1430

原创 使用aop时注入属性失效的问题

结论:如果一个对象要被生成代理,那么不要对它的属性或方法进行注入,这些都会变成null(构造器注入是可以的)首先第一个问题:如果循环引用的对象需要被拦截,即要创建代理怎么办?假如A依赖B,B依赖A,(A有一个属性B b,B有一个属性A a)且A需要被aop拦截,需要创建代理去替代本身:假如首先创建A,先用构造方法创建了一个A的早期实例,把它放在singl...

2020-03-18 11:48:53 680 1

原创 跳表

本文大部分内容借鉴自https://baijiahao.baidu.com/s?id=1633338040568845450&wfr=spider&for=pc,感谢大神的辛勤劳动!跳表就是跳跃的表,其实归根结底是好多层的链表,最底层是正常的数据链表,往上走是代表性的索引越往上走一个索引代表的节点就越多,其实跳表和B*树有些类似,B*树 ...

2020-03-12 21:04:18 832

原创 Concurrent mode failure和 promotion failed

:(两种错误刚好就是三种进入老年代的方法引起的)1.并发模式失败(concurrent mode failure):产生的原因是老年代的可用空间不够了(因为正常晋升入老年代的对象太多太快,或者由于新生代不够而从创建就直接进入老年代的对象太多)原因有两种: 1.年轻代提升太快,老年代的处理速度跟不上新生代的提升速度;或者新生代空间太小,放不下新产生的对象而直接转入老年代,但老...

2020-03-10 15:48:38 904

转载 类的继承关系如何在关系型数据库体现

在面向对象的编程中,使用对象的继承是一个非常普遍的做法,但是在关系数据库管理系统RDBMS中,使用的是外键表示实体(表)之间的关系,那么对于继承关系,该怎么在RDBMS中表示呢?一般来说有3种实现方式:Concrete Table Inheritance(具体表继承)Single Table Inheritance(单表继承)Class Table Inheritance(类表继...

2020-03-06 17:50:10 941

转载 Mybatis解决n+1问题

简介在orm框架中,比如hibernate和mybatis都可以设置关联对象,比如user对象关联dept假如查询出n个user,那么需要做n次查询dept,查询user是一次select,查询user关联的dept,是n次,所以是n+1问题,其实叫1+n更为合理一些。mybatis配置UserMapper.xml<resultMap id="BaseResult...

2020-03-06 17:47:46 2727

转载 垃圾收集器GC中parallel scavenge收集器为什么不能CMS配合使用?

首先看一下收集器的分布:1.解答parallel scavenge收集器为什么不能CMS配合使用?首先讲一下Hotspot,HotSpot VM里多个GC有部分共享的代码。有一个分代式GC框架,Serial/Serial Old/ParNew/CMS都在这个框架内;在该框架内的young collector和old collector可以任意搭配使用,所谓的“mix-and-match”。...

2020-02-27 10:14:51 859

原创 springMVC处理请求流程

Dispatcher接收到了客户的请求,遍历所有的HandlerMapping集合,找出被@Controller注解的bean和被@Request注解的类和方法,根据请求的路径,参数等一系列条件,找到符合条件的HandlerMapping,并得到Handler执行链,其中包括拦截器和controller方法,是一条拦截+处理链。dispatcherServlet让把请求放进入链中,先执行所有拦截...

2020-02-11 16:59:02 117

原创 IoC和AOP的简单总结

IoC:context是总管家。总领全局context创建一个bean工厂,一个解析工具(如xmlReader)。先让解析工具去完成对xml或者注解中bean的解析,对于每个bean节点,提取出其中的名称,类型、属性来构建出一个beandefinition(bd),并存放到解析工具的map中,之后创建这个map中的bd全部移到bean工厂的map中,然后扫描出所有类型为bean初始化前置/...

2020-02-10 23:14:48 313

原创 并发机制底层实现原理

1.volatilevolatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。如果volatile变量修饰符使用恰当的话,它比synchronized的使用和执行成本更低,因为它不会引起线程上下文的切换和调度。volatile两条实现原则:Lock前缀指令会引起处理器缓存回写...

2020-02-09 18:25:31 130

原创 springboot 静态资源无法访问以及添加静态资源无法立即访问

springboot 静态资源无法访问在一个项目中WebMvcConfigurationSupport只能存在一个,多个的时候,只有一个会生效。(按名称排序后第一个的)1.SpringBoot 的 @EnableAutoConfiguration 会启用自动配置类2.WebMvcAutoConfiguration,该类配置了一些默认的静态资源映射自动映射 localhost:8080...

2019-12-26 10:26:53 6805 4

原创 Mybatis中对于association的理解

mybatis是先处理sql,把sql执行完后把结果表映射到resultMap或者resultType上如下面的:一个project对应一个userpublic class Project { int id; String name; User user; ItemState state; Set<User> signer;}publ...

2019-11-29 11:06:07 4178

原创 Ubuntu16下 pip安装,卸载、升级,报错

新装的ubuntu16,自带的python2.7,使用pip升级后,报错,修改记录如下:如何彻底卸载pip?sudo python -m pip uninstall pip如何安装pipsudo apt install python-pip如何安装指定版本的pippython -m pip install pip==18.1(换成你想要的版本编号)pip安装软件过程中报错:Comm...

2019-11-28 15:46:00 1392

原创 一个包含各种算法的好网站

包括排序,查找、各种数据结构都有码一下https://www.geeksforgeeks.org

2019-09-18 20:35:20 318

原创 220. Contains Duplicate III

MediumGiven an array of integers, find out whether there are two distinct indices i and j in the array such that the absolute difference between nums[i] and nums[j] is at most t and the absolute dif...

2019-09-10 11:23:26 101

原创 ERROR 1193 (HY000): Unknown system variable ‘tx_isolaton’

mysql执行select @@tx_isolaton;保错:ERROR 1193 (HY000): Unknown system variable ‘tx_isolaton’解决方法:mysql8及以上tx_isolaton更名为transaction_isolation,执行select @@transaction_isolation;即可解决。...

2019-09-05 20:07:43 1981 1

原创 Android 音视频任务7

先做任务7,是因为做完任务4感觉想要稍微深入了解一下MediaCodec,感觉这样更能把刚学到的知识连贯一下。任务7. 学习 MediaCodec API,完成音频 AAC 硬编、硬解MediaCodec的作用是转换编码或解码文件,支持已编码的特定格式转成原始raw数据,原始raw数据转成特定编码的格式解码时,mediaCodec设定的格式是输入文件的格式,输出原始raw数据编码时,me...

2018-12-08 15:00:03 325

原创 Android 音视频任务4

任务4. 学习 Android 平台的 MediaExtractor 和 MediaMuxer API,知道如何解析和封装 mp4 文件MediaMuxer和MediaCodec算是比较年轻的,它们是JB 4.1和JB 4.3才引入的。前者用于将音频和视频进行混合生成多媒体文件。缺点是目前只能支持一个audio track和一个video track,目前支持mp4,3gp,webm输出Me...

2018-12-08 14:44:29 208

原创 理解YUV

先贴一个好贴:https://www.cnblogs.com/ALittleDust/p/5935983.htmlYUVYUV是一种颜色空间,基于YUV的颜色编码是流媒体的常用编码方式。Y表示流明,U、V表示色度、浓度,这种表达方式起初是为了彩色电视与黑白电视之间的信号兼容。 对于图像每一点,Y确定其亮度,UV确认其彩度。Y’CbCr也称为YUV,是YUV的压缩版本,不同之处在于Y’CbCr...

2018-12-05 18:59:28 9674

原创 Android 音视频任务3

任务3. 在 Android 平台使用 Camera API 进行视频的采集,分别使用 SurfaceView、TextureView 来预览 Camera 数据,取到 NV21 的数据回调由于这次的任务牵涉面十分广,所以用了很久才搞懂了一些知识,以后的任务也应该会做的越来越慢,不过十分合理,慢工出细活,上来一会儿就完成的东西,要不就是含金量不高,要不就是没有深究,对于学习阶段,虽然说有时候要管...

2018-12-05 18:51:18 5332 2

原创 如何理解linux挂载

根据树结构去理解整个文件系统的挂载和挂载点还是有点困难,所以自己做了些总结,有不对的地方还请指正df -h命令后Filesystem 这里的文件系统表示的是目录的层次结构,而不是所谓的像ext4,fat那种真正的文件系统类型一个具体的设备文件(或分区) ,或许是一块硬盘上的一个分区,或许是u盘上的一个分区目录就相当于门整个linux中的文件系统就像一个世界接着一个世界,不同的世界代表不同...

2018-12-03 21:08:23 972 1

原创 Android 音视频任务2

任务:2. 在 Android 平台使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现读写音频 wav 文件AudioRecord使用流程:确定好采样率,通道类型,编码方式,录制来源由AudioRecord.getMinbufferSize获得能接受的最小buffer大小new一个AudioRecord对象 audioRecord ...

2018-12-01 13:13:22 5109 1

转载 onMeasure()和onLayout()总结

转载自 https://www.cnblogs.com/xqxacm/p/6673469.html和 https://blog.csdn.net/superxukai88/article/details/78675686并写了一些自己的总结前言:  自定义控件的三大方法:测量: onMeasure(): 测量自己的大小,为正式布局提供建议 布局: onLayout(): 使用la...

2018-11-30 21:22:58 564

原创 Android 音视频任务1

跟着大神的步骤一步一步做,加油!任务列表:http://blog.51cto.com/ticktick/1956269在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 ViewimageView和surfaceView,为了方便都是直接在activity里面写 void displayImg(){ ...

2018-11-30 14:13:58 4873 2

原创 Android如何替换原生应用

有个需求是把原生的日历app换成修改源码后编译生成的新app尝试进入adb,须有root权限(完整的root权限)用以下代码删除原生的calendaradb shell$ su# pm uninstall -k --user 0 com.android.calendar然后要把/system挂载成可读写的(rw,一开始是只读的ro)执行# mount 可以发现/system是...

2018-11-30 13:28:29 768

空空如也

空空如也

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

TA关注的人

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