自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

徒破壁的博客

七分天注定,三分靠努力。越努力,越幸运。

  • 博客(24)
  • 资源 (6)
  • 收藏
  • 关注

原创 LiveData数据倒灌?你真的用对了吗?源码解析

LiveData、lifecycle源码分析、粘性事件是什么、如何解决数据倒灌、常见面试题及答案

2023-04-11 19:15:49 749

原创 HTTPS为什么安全,流程?

HTTPS为什么安全,流程?

2023-04-04 17:31:12 814

原创

文章目录树概念度高度和深度树的存储结构斜树满二叉树完全二叉树二叉树的存储结构遍历方法二叉排序树概念增删改查操作:哈夫曼数压缩基本思想平衡二叉树概念左旋左平衡树右平衡树红黑树树概念度高度和深度树的存储结构双亲表示法孩子表示法(最常用)首先得知道这棵树的度,为每个节点的长度。双亲孩子表示法孩子兄弟表示法斜树满二叉树完全二叉树二叉树的存储...

2020-01-10 14:26:19 202

原创 阻塞队列与线程池

文章目录阻塞队列与线程池阻塞队列阻塞队列类型入队出队操作生产消费者模式传统版v1版本传统版v2版本阻塞队列v3版线程池线程池几种线程池线程池七大参数线程池运行过程线程池拒绝策略使用哪种线程池拒绝策略验证自定义线程池阻塞队列与线程池阻塞队列阻塞队列类型有七种类型的阻塞队列,但常用的线程池中主要用到三种阻塞队列,所以主要看看这三种阻塞队列。ArrayBlockingQueue:由数组构成的...

2020-01-10 14:25:17 535

原创 集合类线程安全问题

文章目录集合类线程安全问题ArrayList并发修改异常为什么出现解决方案写时复制其他unsafe集合类集合类线程安全问题ArrayList先不谈ArrayList线程安不安全问题,看其源码可以知道,我们在new一个ArrayList的时候,其实底层使用的是数组作为数据结构的。 /** * Default initial capacity. */ priv...

2020-01-10 14:24:39 237

原创 java锁

文章目录java锁可重入锁及其验证手写一个自旋锁读写锁代码验证CountDownLatchCyclicBarrierSemaphoresynchronized和ReentrantLock区别死锁java锁公平锁:多个线程按照申请锁的顺序获取锁,先来后到,每个线程在获取锁时会先查看此锁维护的等待队列,如果为空,或者当前线程是等待队列的第一个,就占有锁,否则加入到等待队列中,遵从FIFO。非公...

2020-01-10 14:24:03 162

原创 CAS及ABA问题

CAS并发中线程安全必须保证三个要素,原子性、可见性、有序性。使用volatile可以保证可见性和有序性,但是不能保证原子性。所以还是会出现并发修改紊乱的问题。这里的解决方法可以通过synchronized修饰,但是太重了,所以使用原子类保证原子性即可,但是原子类底层是如何保证原子性的值得研究,首先一点就是CAS。CAS是什么campareAndSwap.JDK8,在AtomicInte...

2020-01-10 14:23:29 125

原创 volatile深度解析

volatile深度解析volatile是什么volatile是Java虚拟机提供的轻量级的同步机制。它有三个特征:保证可见性不保证原子性禁止指令重排想要理解volatile的工作机制首先要了解JMM,java memory model,即java内存模型。Java内存模型(JMM)JMM本身是一种抽象的概念,并不真实存在。它描述的是一组规则或规范,通过这组规范定义了程序中各个...

2020-01-10 14:22:33 155

原创 强软弱虚引用

文章目录强软弱虚引用强引用软引用内存充足内存不足适用场景弱引用WeakHashMap虚引用引用队列虚引用和引用队列总结强软弱虚引用强引用当内存不足,JVM开始垃圾回收,对于强引用的对象,就算是出现了OOM也不会对该对象进行回收。强引用是我们最常见的普通对象的引用,只有还有强引用指向一个对象,就表明该对象还活着,垃圾回收器不会回收这种对象。在java中最常见的就是强引用,把一个对象赋给一个引...

2020-01-10 14:21:20 191

原创 GC

文章目录GC元空间和永久带GC过程GC过程分析GC算法如何确定垃圾哪些对象可作为GCRootJVM调参查看进程参数配置:常用参数配置常见堆栈错误异常栈溢出错误OOM错误Java heap spaceGC回收时间过长Direct Buffer Memory Errorunable to create new native threadOOM Metaspace垃圾回收器垃圾回收器分类垃圾回收器调配G...

2020-01-10 14:20:30 518

原创 JVM

文章目录JVMJVM体系结构类加载器ClassLoader类加载器的种类双亲委派存储结构PC寄存器方法区栈栈堆方法区交互堆堆内存堆变量的生命周期JVMJVM体系结构类加载器ClassLoader负责加载class文件,class文件在文件开头有特定的文件标识,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构并且ClassLoader只负责class文件的...

2020-01-10 14:16:54 268

原创 HTTP(1.1)(s)

文章目录HTTP(/1.1)(s)HTTPHTTP简介HTTP特点报文状态码请求方法get和post区别与HTTP密切相关的协议IP协议ARP协议TCP协议DNS服务一图胜千言HTTP/1.1无状态长连接HTTPSHTTP的不足HTTPS加密方式验证通信方身份防止接受到的内容被篡改HTTP + 加密 + 认证 + 完整性保护 = HTTPS加密机制通信机制HTTPS慢Web攻击HTTP(/1.1...

2020-01-10 14:13:04 359

原创 java反射

java反射参考资料:https://blog.csdn.net/sinat_38259539/article/details/71799078反射概述原作者总结的非常到位,这里只划上重点。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取类的信息以及动态调用对象的方法的功能称为ja...

2018-06-20 19:00:14 136

原创 java面向对象

java面向对象面向对象的理解参考资料:https://blog.csdn.net/xxf159797/article/details/53669822类类是对客观事物的一种抽象,但是客观事物有很多属性和行为,我们不可能把所有的属性和行为都抽象出来,所以有什么需求就抽象哪一部分。比如抽象一本书,如果以一个作家的身份来抽象,可能得到的属性会是页数、字数、写作时长等,抽象的...

2018-06-18 17:12:43 267

原创 java六大存储区域

java六大存储区域参考资料:https://blog.csdn.net/qq_28009065/article/details/79087831存储速度:寄存器(register)这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。java中,你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。...

2018-06-18 17:11:28 9279

原创 flask问答平台小案例笔记

flask问答平台小案例笔记配置文件config.py(配置项目基本信息)import osfrom datetime import timedelta# debug模式DEBUG = True# 配置数据库DIALECT = 'mysql'DRIVER = 'mysqldb'USERNAME = 'root'PASSWORD = '1234'HO...

2018-05-17 20:38:33 417

原创 flask的基本使用

flask的基本使用顺着视频学习视频地址:https://ke.qq.com/course/228864#term_id=100270059开启debug模式为什么开启debug模式原因1:看下面这段代码,很明显除数不能为0,会抛出异常。@app.route('/')def hello_world(): a = 1 b = 0 c = a / b ret...

2018-05-17 20:37:56 4222

原创 安装python虚拟环境virtualenv

安装python虚拟环境virtualenv在此之前必须配置Scripts的环境变量,否则无法使用pip安装virtualenv。安装这个东西的作用是为了解决python或者flask等框架版本不兼容问题,它可以使不同版本的项目独立运行。pippip install virtualenv创建虚拟环境目录(开辟虚拟环境)创建一个文件夹专门存放不同版本的flask环境目...

2018-05-17 20:36:48 197

原创 友盟分享第四方登录自动集成_学习笔记

友盟分享和第四方登录自动集成PS:写在最前面,先注册Application。PS:写在最前面,先注册Application。PS:写在最前面,先注册Application。没有注册的话报空指针异常:‘void com.umeng.commonsdk.debug.UMDebugLog.mutlInfo(java.lang.String, int, java.lang.String...

2018-04-12 17:32:31 1297

原创 图片压缩_学习笔记

图片压缩_学习笔记android原生图片压缩方法 private String beforeCompressPath = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator + "183" + File.separator + "TestCompress...

2018-04-07 11:19:20 250

原创 进程守护_学习笔记

进程守护_学习笔记为什么需要进程守护360、应用宝等一键加速功能通过遍历进程来kill程序手机内存不足自动回收进程进程保活的一种:进程守护进程守护的原理我们可以让APP有两个服务进程,彼此监听状态,如果一个进程被kill掉了,另一个立马将其唤醒。进程守护的实现创建两个服务,一个主服务,一个守护服务MainActivity中,程序一启动,两个服务也...

2018-04-06 12:48:12 225

原创 友盟统计+渠道包_学习笔记

友盟统计+渠道包_学习笔记资料:官网:https://developer.umeng.com/docs/66632/detail/66889#h3-u5E38u89C1u95EEu9898视频资料:善知堂高级不外传技术之友盟统计+渠道包一、友盟统计1、集成获取APPKey:在编辑应用中看到:5ac59318b27b0a3b6c00030f自动集成:depend...

2018-04-05 19:08:56 2725

原创 RxJava2_学习笔记

RxJava2学习笔记参考资料:入门:https://www.jianshu.com/p/d149043d103a操作符详解:https://www.jianshu.com/p/0cd258eecf60实战练习:https://www.jianshu.com/p/c935d0860186gayhub官网:https://github.com/ReactiveX/RxJava...

2018-03-27 15:25:37 174

原创 Retrofit2.0基本使用_学习笔记

Retrofit使用:本文只讲Retrofit最基本的使用,文末有demo地址,参考资料如下: http://blog.csdn.net/lmj623565791/article/details/51304204 http://square.github.io/retrofit/ https://www.jianshu.com/p/308f3c54abdd https://www.cn...

2018-03-20 12:02:27 283

java socket长连接

java socket长连接,支持一个服务器向多个客户端推送消息; 客户端和服务端互相监听,每一个一个客户端断开服务端都有监听。客户端和服务端都做了封装,调用简单。数据通信使用Gson,bean和json互转

2019-03-01

数据库课设 java课设都可用 机房管理系统 课程设计

机房管理系统,大概介绍: 本课设既可作为数据库课程设计也可以作为java的课程设计。 下载完后,有一个GIF动图演示管理员和用户的相关操作。 1、客户端使用javaGUI来编写界面 2、数据库使用MySQL数据库 3、连接数据库操作使用jdbc语句。 修改数据库连接的配置文件: <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/comma</property> <property name="user">root</property> <property name="password">123</property> 第一个参数:数据库驱动名,按公司数据库类型不同而异 第二个参数:同上,IP端口号,数据库名 第三个参数和第四个参数:连接数据看的账号密码

2017-12-30

VC++6.0轻量绿色版

VC++6.0轻量绿色版 安全无污染,适合初学C/C++的编程新人,贼好用

2017-12-26

数据库课设,java课设都可用,小型超市商品管理系统 课程设计

下载后文件根目录下有两个GIF图,分别描述管理员操作和顾客操作 大概使用说明: 1、数据库使用MySQL 2、图形界面使用java的JFrame 3、导入数据看:将supermarketdb.sql文件导入数据库中后 4、修改项目根目录下的c3p0-config.xml的配置文件: <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/supermarketdb</property> <property name="user">root</property> <property name="password">123</property> 第一个参数:为修改连接数据库的驱动,MySQL的驱动包是这个,不用修改 第二个参数:只用修改数据库的名字,如果是MySQL的数据库的话,本项目使用supermarketdb这个数据库,即导入的那个.sql文件 第三个参数:数据库的用户名,根据自己情况修改 第四个参数:数据库连接的密码,根据自己情况修改 比较适合初学java的新手和练习数据库的同学

2017-12-24

android工具类整理

android工具类整理 1、汉字拼音互转 2、图片压缩并保存至本地 3、日期 5、px/dp的转换 6、Gson 7、打印日志 8、模型 9、sharepreference 10、Toast 11、测试网速

2017-12-06

( 教师信息管理系统课程设计(数据库) 课程设计

高校教师信息管理系统(数据库)课程设计:android客户端和服务器基本交互 大概介绍: 1、客户端: 采用android实现客户端,android客户端文件夹中有源代码和可直接运行的.qpk文件,运行需要先开服务器,在myeclipse中。本人也有外网服务器,若.akp运行有数据则服务器还在,没数据就自己搭建一个 2、服务器: 服务器用j2ee实现,主要是servlet和连接池,没有用到框架,可学习性不强,不过可以通过本案例了解android客户端和服务器的通信方法 3、数据库: MySQL,jdbc,没什么好说的了

2017-12-06

空空如也

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

TA关注的人

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