- 博客(19)
- 收藏
- 关注
转载 Android studio突然代码不能编辑,文件不能打开,卡死,这个方法肯定有效!
Android Studio 4.1之前的版本相关配置和缓存都放在C:\Users\Administrator目录下Android Studio 4.1开始分成了两个目录,分别是:C:\Users\Administrator\AppData\Roaming\Google\AndroidStudio4.1C:\Users\Administrator\AppData\Local\Google\AndroidStudio4.1注:升级Android Studio 4.1之后会将android-stu
2021-04-26 09:32:56 1176 1
转载 Android面向切面编程(AOP)
一、简述1、AOP的概念如果你用java做过后台开发,那么你一定知道AOP这个概念。如果不知道也无妨,套用百度百科的介绍,也能让你明白这玩意是干什么的:AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降
2021-03-29 15:33:45 231
转载 2021年 Android面试总结(5年经验)
面试决心12月初,靠着享学课堂的童鞋内推,面试了京东北辰,虽卡在hr面试,但是本人对自己的技术能力很有信心,2020年12月22日提出离职,利用7天年假时间去集中面试,最终如愿拿到满意的offer。投递简历时,只考虑公司规模,投了10个左右的公司集中面,面试过程一波三折,虽然不是技术面试上的问题,但是有几家hr和审批也卡人的情况,让我猝不及防,不知如何表达当时的心情,委屈的内心只能苦笑。功夫不负有心人,是个坑总有人跳的,终于入坑新东方在线,第一个收获的offer,终于赶在1月18日生日前得到一丝慰藉
2021-03-29 15:06:39 267
转载 【Android】APT
介绍APT(Annotation Processing Tool)即注解处理器,是一种处理注解的工具,确切的说它是javac的一个工具,它用来在编译时扫描和处理注解。注解处理器以Java代码(或者编译过的字节码)作为输入,生成.java文件作为输出。简单来说就是在编译期,通过注解生成.java文件。作用使用APT的优点就是方便、简单,可以少些很多重复的代码。用过ButterKnife、Dagger、EventBus等注解框架的同学就能感受到,利用这些框架可以少些很多代码,只要写一些注解就可
2021-03-29 15:05:36 102
转载 Android图片优化--使用webp
在炎热的七月,偶然被邻桌的同事喊了一下。嘿,过来看个东西。于是我伸着脖子过去看了一下。他说“我发现一个androidStuido很屌的功能,可以把500kb的图片压缩到22kb”。以为挺复杂的,原来还挺简单,动动手指头就可以了。当然这要归功于2.3版本的androidStuido,自带主角光环。来看操作首先说一下背景WebP是谷歌提供的一种支持有损压缩和无损压缩的图片文件格式,而且可以提供比JPEG或PNG更好的压缩。在Android 4.0(API level 14)中支持有损的Web
2021-03-29 13:27:12 483
转载 二进制与十进制的转换
说到十进制和二进制的转换,明明之前学会了,但是许久不用就觉得好像忘记方法了。希望做好这个笔记后能够牢牢记住十进制转换为二进制十进制转二进制分为整数转二进制,和小数转二进制整数转二进制采用"除2取余,逆序排列"法:1.首先用2整除一个十进制整数,得到一个商和余数2.然后再用2去除得到的商,又会得到一个商和余数3.重复操作,一直到商为小于1时为止4.然后将得到的所有余数全部排列起来,再将它反过来(逆序排列),切记一定要反过来!假设我们现在需要将42转为二进制,那我们怎么做呢,如下图所
2021-03-29 13:20:32 874
转载 Java各种运算符号的含义及区别汇总
一、<< :左移运算符,num << 1,相当于num乘以2例如:2 << 1 //4 移了一位2*22 << 2 //8 移了两位 2*2*22 << 3 //16 移了三位 2*2*2*2二、>> :右移运算符,num >> 1,相当于num除以2例如:16 >> 1 //8 移了一位 16/216 >> 2 //4 移了两位 16/2/216 >&.
2021-03-26 10:08:08 1942
转载 java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、java泛型详解1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型.
2021-03-26 09:45:57 103
转载 我竟然不再抗拒 Java 的类加载机制了
很长一段时间里,我对 Java 的类加载机制都非常的抗拒,因为我觉得太难理解了。但为了成为一名优秀的 Java 工程师,我决定硬着头皮研究一下。01、字节码在聊 Java 类加载机制之前,需要先了解一下 Java 字节码,因为它和类加载机制息息相关。计算机只认识 0 和 1,所以任何语言编写的程序都需要编译成机器码才能被计算机理解,然后执行,Java 也不例外。Java 在诞生的时候喊出了一个非常牛逼的口号:“Write Once, Run Anywhere”,为了达成这个目的,Sun 公司
2021-03-25 17:24:25 67
转载 内存泄漏和内存溢出有啥区别?
只针对JAVA来说内存泄露本意是申请的内存空间没有被正确释放,导致后续程序里这块内存被永远占用(不可达),而且指向这块内存空间的指针不再存在时,这块内存也就永远不可达了,内存空间就这么一点点被蚕食,借用别人的比喻就是:比如有10张纸,本来一人一张,画完自己擦了还回去,别人可以继续画,现在有个坏蛋要了纸不擦不还,然后还跑了找不到人了,如此就只剩下9张纸给别人用了,这样的人多起来后,最后大家一张纸都没有了。内存溢出是指存储的数据超出了指定空间的大小,这时数据就会越界,举例来说,常见的溢出,是指在栈空间里
2021-03-25 14:07:39 150
转载 JVM系列:解决JVM最大内存设置问题
你知道JVM内存最大能调多大吗,这里和大家分享一下JVM最大内存方面的内容,Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在Java虚拟机启动时创建的。JVM内存最大能调多大今天分析了当前比较流行的几个不同公司不同版本JVM最大内存,得出来的结果如下:公司JVM版本最大内存(兆)client最大内存(兆)serverSUN1.5.x14921520SUN1.5.5(Linux)26342660SUN1.4.215641564SUN1.4.2(Li
2021-03-25 13:56:12 1135
转载 Java内存管理机制
Java内存管理机制对于 Java 程序员来说,在虚拟机的自动内存管理机制的帮助下,不再需要为每一个 new 操作去写配对的 delete/free 代码,而且不容易出现内存泄漏和内存溢出问题,看起来由虚拟机管理内存一切都很美好。不过也正是因为 Java 程序员把内存控制权交给了 Java 虚拟机,一旦出现内存泄漏和溢出的问题,如果不了解虚拟机怎样使用内存的,那排查错误将会成为一项异常艰难的工作。1. 什么是 JVM?JVM(Java 虚拟机)是 Java Virtual Machine 的缩写,它
2021-03-25 13:55:21 256
转载 Java中访问修饰符public、private+内部类详解
同一个类 同一个包 不同包的子类 不同包的非子类 Private √ Default √ √ Protected √ ...
2021-03-22 15:38:43 3813 1
转载 Java三大特性详解+抽象4种
目录封装 继承 多态 个人总结 抽象(新添加)正文封装封装指的是属性私有化,根据需要提供setter和getter方法来访问属性。即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问级别。封装目的:增强安全性和简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员。隐藏对象的属性和实现细节,仅仅对外公开接口。封装具有一下优点:便于使用者正确、方便的使用系统,防止使用者错误修改系统属性;有助于建立各个系统之间的松耦合关系;提高软件的可重
2021-03-22 14:39:27 174
转载 Java 垃圾回收机制整理
垃圾回收的意义如果不进行垃圾回收,内存迟早会被消耗空。垃圾回收机制的引入可以有效的防止内存泄露、保证内存的有效使用,也减轻了 Java 程序员的对内存管理的工作量。内存泄露:指该内存空间使用完毕后未回收,在不涉及复杂数据结构的一般情况下,Java 的内存泄露表现为一个内存对象的生命周期超出了程序需要它的时间长度,我们有是也将其称为“对象游离”。垃圾回收机制中的算法垃圾回收算法需要做的基本事情:发现无用对象 回收被无用对象占用的内存空间,使该空间可被程序再次使用1. 可达性检测算
2021-03-22 14:27:20 77
转载 优美的讲解equals和==的区别
初步了解在JVM中的内存分配知识在JVM中,内存分为堆内存跟栈内存。他们二者的区别是: 当我们创建一个对象(new Object)时,就会调用对象的构造函数来开辟空间,将对象数据存储到堆内存中,与此同时在栈内存中生成对应的引用,当我们在后续代码中调用的时候用的都是栈内存中的引用。还需注意的一点,基本数据类型是存储在栈内存中。初步认识equals与==的区别:==是判断两个变量或实例是不是指向同一个内存空间,equals是判断两个变量或实例所指向的内存空间的值是不是相同==是指对...
2021-03-22 14:18:36 68
转载 Java中的强引用,软引用,弱引用,虚引用有什么用?
每一种语言都有着自己操作内存元素的方式,C语言通过指针,而java就是通过引用。作为一门面向对象的语言,在java中世事万物皆对象。但是我们操作的标识符实际上是对象的一个引用(reference)。今天我们来分析一下java中的四种引用。一、引用的历史在Java中,我们的垃圾回收机制回收垃圾对象的时候就会依据对象的引用。比如说通过不同的垃圾回收算法,这里有两种:引用计数法和可达性分析法1、引用计数法:为每个对象添加一个引用计数器,每当有一个引用指向它时,计数器就加1,当引用失效时,计数器就减1,
2021-03-22 14:07:05 249
转载 一篇文章搞定java中的垃圾回收机制面试题
一篇文章搞定java中的垃圾回收机制面试题 任何语言在运行过程中都会创建对象,也就意味着需要在内存中为这些对象在内存中分配空间,在这些对象失去使用的意义的时候,需要释放掉这些内容,保证内存能够提供给新的对象使用。对于对象内存的释放就是垃圾回收机制,也叫做gc,对于java开发者来说gc是一个双刃剑 我们这里找了两张搞笑图片分别来表示c语言的垃圾回收和 java的垃圾回收。 注意:并不是说谁好谁坏,只是一个调侃图。 我们这里找了两张搞笑图片分别来表示c语言的垃圾回收和 .
2021-03-22 13:48:37 98
转载 java中的栈和堆理解
JAVA在程序运行时,在内存中划分5片空间进行数据的存储。分别是:1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。基本,栈stack和堆heap这两个概念很重要,不了解清楚,后面就不用学了。以下是这几天栈和堆的学习记录和心得。得些记录下来。以后有学到新的,会慢慢补充。一、先说一下最基本的要点基本数据类型、局部变量都是存放在栈内存中的,用完就消失。new创建的实例化对象及数组,是存放在堆内存中的,用完之后靠垃圾回收机制不定期自动消除。二、先明确以上两点,以下示例...
2021-03-22 11:39:53 95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人