- 博客(19)
- 收藏
- 关注
原创 java笔记:Java四种引用的总结
Java不同的引用机制本质上是对象的可达性状态和对Java垃圾回收机制的影响。四种引用分别是:强引用、软引用、弱引用和虚引用。四种引用的特点和应用场景强引用这种引用是最为常见的引用,我们通过new对象然后将其赋值给一个引用变量,这样这个变量就持有了该对象的“强引用”。强引用的对象处于“强可达的状态”,对于有这种引用状态的对象,垃圾回收机制宁愿抛出OutOfMemeryError异常,也不...
2019-09-03 19:42:41
137
原创 网络编程笔记:TCP协议总结
借鉴网上的资料,自己总结一下TCP协议的相关内容。TCP协议的特点TCP协议是传输层中的一种面向连接的,提供可靠服务的传输协议,是基于字节流传输的。与UDP相比,它会在通信的双方通过创建一些数据结构来保证连接的建立。特点如下:保证顺序;维护连接;通过重传应答策略保证可靠性交互;流量控制;拥塞控制。后文,再详细说明TCP协议如何实现这些特点。TCP包头格式图片来源源端...
2019-08-19 00:27:42
251
原创 java笔记:聊聊Java的垃圾回收机制
尽力以简单的语言表述清楚。。。垃圾回收的作用Java虚拟机划分成线程共享和线程私有两部分,线程共享的部分包括:方法区和堆;线程私有的部分包括:Java方法栈、本地方法栈和程序计数器。在进入一个方法时,会在当前线程中划分出一个栈帧,用于存储局部变量,在方法执行完毕后,该栈帧就会销毁。而垃圾回收机制回收的部分,是堆中的死亡对象空间。自动完成垃圾回收需要考虑如下几个问题:如何判断一个对象可以...
2019-08-17 22:14:14
201
原创 Java笔记:Java内存模型
本文是在翻阅多篇有关java内存模型相关的文章之后,基于自己的理解,为了加深记忆,写的一篇java内存模型的总结。好记性不如烂笔头,共勉。为什么要提出Java内存模型由于在java多线程编程中,方法区和堆空间(实例对象,数组对象,静态对象)都是线程共享的,而程序计数器、java方法栈和本地方法栈才是线程私有的。因为这些共享变量的存在,在并发编程领域需要解决的核心问题就是它们的可见性、有序性和原...
2019-08-17 13:40:35
162
转载 面试题:进程与线程的区别
线程和进程的区别:进程是资源分配的最小单位,而线程是任务调度和执行的最小单位;进程拥有自己的地址空间,每创建一个进程,操作系统需要分配一个独立的地址空间给该进程,并且建立数据表来维护代码段、数据段和堆栈段;线程共享所属进程的地址空间,只拥有一小部分线程特有的资源(程序计数器,寄存器以及栈),共享同一份代码,全局变量、静态变量以及堆空间;进程间的切换上下文,比切换线程的代价要高很多;进程间...
2019-08-16 21:33:06
366
原创 Android笔记:(5)Handler的使用和原理解析
Handler是什么Handler是Android一种重要的消息机制(由Handler、Looper、MessageQueue、Message等构成),主要是为了完成以下几个功能:我们都知道Android UI线程中不可以做耗时操作,且更新UI的操作只允许在UI线程中进行,所有的耗时操作都需要在子线程中进行,那么当子线程完成耗时操作后怎么切换到UI线程更新UI呢,这时候Handler就可以派...
2019-08-16 17:27:22
196
原创 android笔记:(4)Activity之间、Activity和Fragment、Fragment之间的通讯
概述每个Activity或者Fragment中需要完成自己的一些功能,但是通常也需要和其他Activity或者Fragment进行交互,这时候就涉及到了它们之间通讯的一些常用方法。这篇文章,从Activity之间、Activity和Fragment之间、Fragment之间这三种情况总结常用的通讯方式。Activity之间通过Intent传输数据在使用startActivity(Inten...
2019-08-16 17:21:32
352
原创 android笔记:(3)fragment的使用和生命周期分析
概述fragment作为“碎片”,是为了页面复用而提出来的,为了适应Android不同的屏幕,横屏竖屏两种模式。主要特点有:依托于Activity存在一个Activity中可以有多个FragmentFragment有自己的生命周期,但是受Activity生命周期的影响一个Fragment可以由多个Activity重用在Activity中可以动态地添加和删除Fragment作用...
2019-08-13 21:51:22
241
原创 android笔记:(2)Service的生命周期和应用场景
趁着秋招之际,急忙恶补Android和Java的一些基础知识,对自己的学习过程进行记录总结,构建属于自己的知识体系。(基础不牢,地洞山摇啊~~)今天,复习一下Android中另外一个重要的组件:Service。Service主要是用来在后台执行一些耗时任务,但是Service是执行在UI主线程上的,所以执行耗时任务需要创建新的线程或者线程池执行。Service的生命周期由上图可以知道,Se...
2019-08-10 14:51:16
606
原创 android笔记:(1)activity的生命周期和启动模式
趁着秋招之际,急忙恶补Android和Java的一些基础知识,对自己的学习过程进行记录总结,构建属于自己的知识体系。(基础不牢,地洞山摇啊~~)首先从activity的生命周期和启动模式开始复习起,还记得顺丰面试时面对这个问题,自己磕磕巴巴,语无伦次的那副窘态:(acticity生命周期先附上activity生命周期的经典流程图,然后以下从每个环节适用的场景,适合完成的工作来进行总结。根...
2019-08-08 01:35:23
243
原创 Flutter学习:几个Demo学习Animation、Tween和CustomPaint的使用,
本篇文章从几个Demo出发介绍了Animation、Tween和CustomPaint的使用,并且几个Demo实现效果是层层递进的,下面会详细记录Demo的编写过程,以及简要地介绍以上三个类的使用和注意事项。
2019-08-01 17:37:31
403
原创 第一个flutter遇到的坑
gradle插件下载不了解决办法:开启小飞机,科学上网,在Android studio中配置好代理,但是需要将当前系统用户.gradle文件夹下的gradle.properties文件以及项目中的gradle.properties文件中的代理相关的配置删除org.gradle.jvmargs=-Xmx1536M#systemProp.http.proxyHost=127.0.0.1#...
2019-07-13 19:07:01
314
原创 从一个例子学习C++类中的隐式构造函数和隐式赋值函数
不好的类该例子基于《C++ primer plus 第6版》第12章1节从一个例子看类中的隐式构造函数"stringbad.h"文件#include <iostream>#ifndef STRINGBAD_H#define STRINGBAD_Hclass StringBad{private: char* str; int len; sta...
2019-04-29 13:05:40
1079
原创 vscode中搭建C++项目的配置文件
tasks.json文件代码示例{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "lab...
2019-04-28 21:54:24
852
原创 MqttClient的使用
Mqtt协议是基于二进制消息的发布/订阅编程模式的消息协议。一、MqttClient的相关工具类的建立public class MqttClientUtil { private static MqttClient instance=null; private static MqttConnectOptions options; private MqttCl
2017-11-06 16:00:36
7352
2
原创 java异常的总结
一、异常是什么?是对问题的描述,对问题进行对象的封装,符合java一切皆对象的设计思想。二、异常的体系结构Throwable |--Exception |--RuntimeException |--Error异常体系的源头为Throwable类,主要包括Exception和Error两大体系。用人体疾病来做类比就是
2017-04-16 13:11:44
247
原创 java进行对象初始化的过程
public class Lesson { String name; int time; public Lesson(String name,int time) { // TODO Auto-generated constructor stub this.name=name; this.time=time;
2017-04-15 16:09:40
248
原创 java中static的使用
静态:static用法:是一个修饰符,用来修饰类中的成员函数和成员字段。当成员被静态修饰之后,就多了个调用方式,除了能够被对象调用之外,还能被类名直接调用。特点:随着类的加载而加载,先于对象存在于内存当中。生命周期很长。可以被所有的对象共享。可以直接被类名调用使用。实例变量与类变量(静态变量)的区别存储位置:类变量存储在共享区(方法区,也就是静态存储区),实例变量随着对
2017-04-15 14:39:32
140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人