- 博客(368)
- 资源 (4)
- 收藏
- 关注
原创 MST索引
并发编程面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104863992MySQL数据库面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104778621Redis面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/103522351...
2020-11-02 15:45:14 139
原创 Android 技术积累 索引篇
Android基础:源码源码,你不要睡着啦。Android源码分析—带你认识不一样的AsyncTaskAndroid事件传递机制Android Context完全解析 转郭神名作并简略总结Handler Looper MessageQueue 深度总结Android 我的第一个 NDK 程序 (AndroidStudio)Android HandlerThread 完全...
2019-11-21 17:28:58 174
原创 前端 技术积累 索引篇
VUE基础JS装逼利器Vue 自定义组件 (父子组件 数据传递)CSS 弹性布局vue-cli 配置 proxyTable pathRewritevue.js中ref及$refs的使用及讲解VUE问题及解决方案vue 传递数组后端java接收问题(qs和json)...
2019-11-14 17:03:01 204
原创 Java 技术积累 索引篇
Java基础:问题解决方案:Spring+SpringMVC+Mybatis整合开发思路及配置详解https://blog.csdn.net/yanmiao0715/article/details/82502694IDEA端口占用:java.rmi.server.ExportException: Port already in use: 1099https://blog....
2019-07-30 11:39:20 252
原创 AS 编译问题解决方案汇总 (陆续添加总结...)
1.遇到“无法加载主类 org.gradle.wrapper.GradleWrapperMain”怎么解决?解决:copy android/gradle/wrapper/gradle-wrapper.jar from other projects to the same location in ur [x\gradle\wrapper\]2.Win7 x64 Android Studio...
2018-03-29 12:43:30 1391
转载 Springboot出现found character ‘@‘ that cannot start any token. (Do not use @ for indentation)
springboot @解析异常
2022-07-11 10:01:51 989
转载 三幅图弄懂EventBus核心原理
作者:Hanking链接:https://juejin.im/post/5e981905518825085d6d0164前言好多分析EventBus的文章,喜欢上来就贴源码,我看了好多次总是迷迷糊糊的,这次花时间彻底整理一下EventBus,发现EventBus核心其实就是三幅图,这三幅图涉及的是三个HashMap表,弄懂这三幅图那么EventBus就懂了。1、第一幅图(订阅者和订阅事件)先看一段在activity中注册和反注册EventBus的代码。onStart{ EventB
2021-11-12 14:49:03 470
转载 Glide 4.X 优化分析
使用添加依赖implementation ‘com.github.bumptech.glide:glide:4.12.0’annotationProcessor ‘com.github.bumptech.glide:compiler:4.12.0’基础使用加载图片Glide.with(this).load(imgUrl).into(imageView1)取消加载Glide.with(this).clear(imageView1)实际上,当 Glide.with() 中传入的 Acti
2021-10-29 17:17:36 145
原创 Retrofit 原理总结
一、Retrofit简介Retrofit是现下Android端开发非常流行的一款网络请求框架,它通过动态代理的方式将Java接口翻译成网络请求,通过OkHttp发送请求,并且其具备强大的可扩展性,支持各种数据格式的转换以及RxJava。说到这里,我们来分析一下网络请求框架的本质,网络请求框架是一套提供给开发者使用的用于网络请求的API接口,我们知道,Android网络请求一般是基于Http协议的,而Http协议属于应用层的协议,具体的数据传输需要依赖传输层的TCP协议,Android系统提供了Socket
2021-10-26 09:58:04 1832
转载 Kotlin中 !!. 跟 ?. 的区别跟用法
在Kotlin中!!跟?都是用于判断空参数异常的?.意思是这个参数可以为空,并且程序继续运行下去!!.的意思是这个参数如果为空,就抛出异常下面给大家举个简单的例子,在JAVA中判断一个参数非空是这样写的:NullClass nullClass = null; if (nullClass!=null) { ullClass.nullFun(); }将这段代码转换成Kotlin之后呢val nullClass: NullClass? = null nullClass
2021-08-20 10:45:20 158
原创 JAVA 锁相关
CAS 无锁优化 自旋 (Compare and set)cas(V,Expected,NewValue)if(V=E)V=Newotherwise try again or failABA问题-加version-A 1.0-B 2.0-C 3.0-cas(version)
2021-07-09 10:12:47 106
转载 CDN的作用与基本过程
简介CDN,Content Distribute Network,可以直译成内容分发网络,CDN解决的是如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过CDN对于数据的分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的。动机为什么不进行数据的直接交付,即让用户直接从源站获取数据呢?我们常说的互联网实际上由两层组成,一层是以TCP/IP为核心的网络层即Internet(因特网),另一层则是以万维网WWW为代表的应用层。数据从服务器
2021-07-01 16:55:05 124
转载 数据库压力大解决思路
业务应用数据库压力解决方案引言一、原因分析二、在代码层面消化数据库压力创建索引转移压力三、给数据库请个保姆——中间件RedisMQ四、忍法——数据库分身术分布式架构主从读写分离架构五、总结注意:原创文章,转载请注明出处。引言数据库炸了,加CPU加内存?或许还有更合适的方法,例如优化代码逻辑、合理利用中间件、横向扩展数据库配置。之前在做业务应用系统压力测试项目的时候,发现性能不达标的应用,问题大多出在数据库上,服务器的资源才用了30%不到,数据库资源已经跑满的情况比比皆是。
2021-05-31 17:54:13 542
转载 消息队列应用
二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种 1.串行的方式;2.并行方式(1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端(2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间.
2021-05-31 17:51:30 429
转载 Redission分布式锁原理
https://blog.csdn.net/a772304419/article/details/105647110
2021-05-31 17:49:41 176
转载 jvm内存模型以及各个分区
1. JVM 内存模型Java虚拟机内存的各个区域包括:程序计数器 Java虚拟机栈 本地方法栈 Java堆 方法区2. 程序计数器什么是程序计数器呢? 程序计数器是一块较小的内存空间,它可以是当前程序所执行的字节码的行号指示器。 注意:如果线程正在执行的是java的方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是Native方法,这个计数器值则为空(Undefined)。 程序计数器的作用 字节码解释器工作时,就是通过改变这个.
2021-05-31 14:13:06 657
转载 慢Sql排查
https://blog.csdn.net/qq_21040559/article/details/107381444使用第三方工具进行检测,比如阿里的druid数据库连接池,加入相关配置之后可以从面板更直观的监控sql的性能,更方便我们对问题的排查。 记录MySQL慢查询 MySQL慢查询就是在日志中记录运行比较慢的SQL语句,这个功能是需要开启才能使用的。 开启方法 通过修改/etc/my.cnf,添加配置 优点:全局生效 缺点:需要重启Mysql 通过SQL命令set glo
2021-05-25 16:49:32 219
转载 mysql 主从复制、读写分离、分库分表
思维导图微信公众号已开启:【java技术爱好者】,还没关注的记得关注哦~文章已收录到我的Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary前言在很多项目,特别是互联网项目,在使用MySQL时都会采用主从复制、读写分离的架构。为什么要采用主从复制读写分离的架构?如何实现?有什么缺点?让我们带着这些问题开始这段学习之旅吧!为什么使用主从复制、读写分离主从复制、读写分离一般是一起使用的。目的很简单,就是为了提
2021-05-25 10:46:55 363
转载 com.android.support版本冲突的解决办法
https://blog.csdn.net/code_dream_wq/article/details/109637133All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes当我们使用android studio添加一些第三方的依赖库时,很可能会提示上面这个错误。大致意思就是com.android.su
2021-05-17 10:40:25 262
转载 RabbitMQ实战教程(十) : 消息确认Ack
https://blog.csdn.net/qq_37653556/article/details/82860879
2021-05-14 14:08:21 112
转载 RabbitMQ和Kafka的比较,一比吓一跳!
导言作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”。基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别,但是这两种技术在底层实现方面是有许多差异的。不同的场景需要不同的解决方案,选错一个方案能够严重的影响你对软件的设计,开发和维护的能力。这篇文章会先介绍一下基本的异步消息模式,然后再介绍一下RabbitMQ和Kafka以及他们的内部结构信息。第二部分(未完成)主要介绍这两种
2021-05-14 13:51:54 320
原创 ribbon的注解 @LoadBalanced 报错 No instances available for [IP]
使用RestTemplate类调用其他系统的url的时候,加上ribbon的注解@LoadBalanced上这个注解之后访问,就报错了。java.lang.IllegalStateException: No instances available for localhost at org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.execute(RibbonLoadBalancerClient.java:89) ~[s
2021-04-21 16:42:45 1150
转载 Redis的持久化机制
Redis的持久化机制破执宜信 研发工程师60 人赞同了该文章Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。Redis 的持久化机制有两种,第一种是RDB快照,第二种是 AOF 日志。快照是一次全量备份,AOF 日志是连续的增量备份。快照是内存数据的二进制序列化形式,在存储上非常紧凑,而 AOF 日志记录的是内存数据修改的指令记录文本。1、RDB快照
2021-04-16 11:14:39 130
原创 nginx keeplived相关
nginx中的root与alias的差别https://blog.csdn.net/asahinokawa/article/details/87702491搭建Keepalived双机热备https://blog.csdn.net/zhouchuan152/article/details/94976214Nginx高可用、高并发:Nginx+Keepalived部署https://blog.csdn.net/qq_35457078/article/details/84879338.
2021-04-02 14:42:59 101
原创 Android MutableLiveData
https://blog.csdn.net/feather_wch/article/details/88648559我们在《ViewModel的基本使用》这篇文章中提到了,ViewModel的主要作用是存放页面所需要的各种数据,而当这些数据发生变化时,我们采用接口的方式实现对页面的通知。这样做是可行的,但如果要观察的数据很多,则需要定义大量的接口,代码显得冗余。为此,Android为我们提供了LiveData组件,帮助我们完成ViewModel与页面组件之间的通信。所以,LiveData通常是被放在Vi
2021-04-01 13:51:09 907
转载 使用 patch-package 修改第三方模块
使用patch-package修改第三方模块,及时解决第三方依赖包的 bug安装 123456 # npmnpm install patch-package --save-dev# yarnyarn add --dev patch-package postinstall-postinstall 创建补丁直接在项目根目录下的node_modules文件夹中找到要修改依赖包的相关文件,然后回到根目录执行 123...
2021-03-30 13:53:18 1904
转载 SpringBoot 如何实现AOP的权限控制
https://blog.csdn.net/ideaxx/article/details/89386855
2021-03-03 16:34:48 319 1
原创 SpringBoot项目修改内置tomcat版本
1.直接改starter<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion&
2021-01-21 09:41:07 511
转载 各个系统下ping IP+端口的方法
前言做开发的人员,可能都会遇到网络的一些问题。这时一般都需要测试指定的网络是否能正常访问。通常在windows系统下,在cmd里直接用命令ping指定的IP或者域名就可以快速的知道这个地址是否是可以访问通不通的。但是如果一个服务器上启动着好几个项目,通过指定不同的端口来区分。想要知道其中某个端口的系统是否可以访问通,一般的ping命令是解决不了这个问题的,因为不管在windows下还是linux下,ping命令只能跟IP地址或者域名,是不能加端口访问的。这时我们就可以借助一些工具,来帮助我们达成目的
2021-01-14 10:51:10 6654
原创 spingsecurity 相关文档
mall整合SpringSecurity和JWT实现认证和授权(一)http://spring security实现动态配置url权限的两种方法
2021-01-08 21:01:31 99
转载 使用Spring Security 限制URL访问
使用Spring Security 限制URL访问通常保护url方式有以下几种:允许每个人访问的url 基于角色保护url 基于多个角色保护url 基于IP地址保护url本文介绍如何通过spring security 实现这些功能。指定URL指定url最常用的方法是通过antMatcher,如果我们想保护下列url:url 访问限制 http://www.example.com/static 给所有人开放,如css, javascript http://www
2021-01-07 10:57:02 1405 1
原创 解决:SpringBoot 错误:Caused by: org.yaml.snakeyaml.scanner.ScannerException 最终解决方案
https://blog.csdn.net/jiangyu1013/article/details/82495866添加依赖<dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>1.25</version></dependency>
2020-12-11 16:49:34 2889
转载 springboot之pom配置profiles适用于不同开发环境(亲测可用)
pom.xml<profiles> <profile> <!-- 生产环境 --> <id>prod</id> <properties> <profileActive>prod</profileActive> </properties> </profile> <profile>
2020-12-09 16:58:14 1130
转载 MySQL索引-B+树(看完你就明白了)
http://www.liuzk.com/410.html引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍 B+ 树
2020-11-04 09:33:42 222
原创 mybatis使用注解和xml方式插入数据后获取自增长的主键值
写SQL,但不要自己插入主键值 配置@Options(useGeneratedKeys=true, keyProperty="对象.属性")这个的作用是设置是否使用JDBC的getGenereatedKeys()方法获取主键并赋值到keyProperty设置的对象的属性中,说白了就是把自增长的主键值赋值给对象相应的属性在插入后,使用对象.主键属性的getXXId()方法 获取主键值示例:@Insert("INSERT INTO api(component, clientA
2020-10-27 14:58:37 495
转载 android 各种View截图总结
普通View截图image获取View截图 /** * 获取控件截图(黑色背景) * * @param view view * @return Bitmap */ public static Bitmap getViewBitmapNoBg(View view) { view.setDrawingCacheEnabled(true); view.buildDrawingCache(true);.
2020-09-21 15:10:54 2305
转载 Vue和ios、android交互通信
Vue和ios、android交互通信1)原生调用Vue方法Vue代码created() { //Vue的方法给原生调用,则需要把方法挂在Window下面 window.getDataFromNative = this.getDataFromNative;},methods: { getDataFromNative(params) { //params: 原生调用Vue时传值(params)给Vue console.log("得到原生传值结果:" + p
2020-08-27 14:39:13 922
转载 RabbitMQ相关
RabbitMQ-解耦、异步、削峰https://www.cnblogs.com/wffzk/p/13467105.html
2020-08-21 11:09:53 134
AndroidStudio 必用插件
2016-03-02
greenDao 示例 楼主洒泪奉献 android
2015-10-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人