java
文章平均质量分 94
哎吆我呸
如果前路无知己,那么自己负重前行。
展开
-
Android IPC的几种方式
IPC的概念IPC即Inter-Process Communication(进程之间的通讯)。Android是基于Linux,而Linux出于安全的考虑,不同进程间不能之间操作对方的数据,这叫做“进程隔离”。在Linux系统中,虚拟内存机制为每个进程分配了线性连续的内存空间,操作系统将这种虚拟内存空间映射到物理内存空间,每个进程有自己的虚拟内存空间,进而不能操作其他进程的内存空间,只有操作系统才有权限操作物理内存空间。进程隔离保证了每个进程的内存安全,防止篡改其他进程的数据。IPC方式B原创 2021-02-08 10:38:03 · 614 阅读 · 1 评论 -
Android studio sun.security.validator.ValidatorException: PKIX path building
今天来了新同事,遇见以上问题解决办法%JAVA_HOME%/jre/lib/security/cacerts出问题,把没问题的机子上的cacerts目录覆盖它,done!原创 2020-12-01 22:19:11 · 1161 阅读 · 0 评论 -
Android 解决红米等部分手机Toast默认显示应用名称问题,去掉应用名称
最近遇见一个奇葩的问题,就是部分手机例如红米手机会出现Toast默认在文字前面加上应用名称最后通过自定义Toast解决了这个问题。<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#cc000000"原创 2020-11-26 20:42:16 · 1920 阅读 · 0 评论 -
java笔记
抽象类和接口抽象类不能有对象,不能通过new关键字来创建抽象类的对象抽象类中的抽象方法必须在子类中被重写,否则子类也是抽象的,抽象类可以有不是抽象的方法接口中的所有属性以及方法默认为:public static final 修饰的抽象类与接口的区别就是抽象类可以有实现的方法,而接口中没有java中的集合框架主要包含了两大类Collection mapCollection中包含了List与set集合list接口存储一组不唯一,也就是可以有重复的元素,有序的对象,Set接口存储.原创 2020-11-04 19:54:44 · 83 阅读 · 0 评论 -
java总结之String异常内部类
1、String StringBuffer StringBuilder的区别String是final类,不能被继承重写。对于已存在的String对象,修改它的值,就是重新创建一个对象。StringBuffer是一个类似于String的字符串缓冲区,使用append()方法修改字符值,使用toString方法转换为字符串,并且是线程安全的。StringBuilder是非线程安全的,速度更快。跟StringBuffer相同2、异常处理Exception、Error是Throwable类的子类原创 2020-11-03 06:49:24 · 139 阅读 · 0 评论 -
java Object static final总结
1、Object中的equals方法是对两个对象的地址值进行的比较(即比较引用是否相同),String类重写了equals方法,能够判断两个字符串包含的内容是否相同。public boolean equals(Object obj){ return (this == obj);}2、hashCode方法给对象返回一个hashcode值。这个方法被用于hashtables,例如常用的hashMap它的性质是:在一个Java应用的执行期间,如果一个对象提供给equals做比较的信息没有被原创 2020-10-31 08:42:28 · 207 阅读 · 3 评论 -
java 垃圾收集器
1、CMS收集器CMS Concurren Mark Sweep 收集器是一种以获取最短回收停顿时间为目标的收集器。目前很大一部分的java应用都集中在互联网站或B/S系统的服务端上,这类应用尤其重视服务的响应速度,希望系统停顿时间最短,以给用户带来较好的体验。从名字上就可以看出是标记清除算法实现的,他的过程更复杂一些,包括四个步骤,初始标记,并发表弟,重新标记,并发清除,其中初始标记、重新标记这两个步骤任然需要Stop The World。初始标记仅仅只是标记一下GC Roots能直接关联到的对.原创 2020-10-25 16:56:27 · 86 阅读 · 0 评论 -
java 垃圾回收Gc算法粗略总结
java gc的存活判断引用计数每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。此方法简单,无法解决对象相互循环引用的问题。可达性分析从Gc Roots开始向下搜索,搜索所走过的路径称为应用链相连时,则证明此对象是不可用的。不可达对象。在Java余元中,GC Roots包括:vm栈中引用的对象,方法区中类静态属性实体引用的对象,方法区中常量引用的对象。本地方法栈中JNI引用的对象。垃圾收集算法1、标记清除算法。就是先标记出可回收的对象,原创 2020-10-24 09:12:57 · 147 阅读 · 0 评论 -
java总结JVM
1、java jvm工作流程java源代码文件也就是.java文件通过java Compliler java编译器,执行为.class文件也就是java字节码文件,.class文件通过类加载器通过执行引擎去执行程序,还有就是通过类加载器把.class文件执行到运行时数据区,在通过执行引擎去执行程序。运行时数据区包含:程序计数器,java虚拟机栈,本地方法栈,java堆,方法区程序计数器就是每条线程都需要有一个程序计数器,计数器记录的是正在执行的指令地址,如果正在执行的是Native方法,这个计数原创 2020-10-23 09:33:44 · 84 阅读 · 0 评论 -
Android 随机生成验证码的bitmap
import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import java.util.Random;public class Code { //随机数数组 private static final char[] CHARS = { '0','1','2', '..转载 2020-07-23 15:42:14 · 274 阅读 · 0 评论 -
Android retrofit网络交互在后台返回的response中取出Set-Cookie的值
1、需求,服务器返回的是文件流,服务器把标识放在了response的header中,由于用的网络框架是retrofit,该如何取出Set-Cookie的值呢?Call<ResponseBody> verCode = inf.getVerCode(); verCode.enqueue(new Callback<ResponseBody>() { @Override public void onResponse(Cal原创 2020-07-23 15:30:32 · 1942 阅读 · 0 评论 -
文件存储与数据库存储
在大多数企业开发或Web开发中,都会涉及数据的存储和检索。存储数据有两种基本的方法:保存到普通文件中(File System),或者保存到数据库(Database)中。文件存储常见,并且简单,操作系统提供的完善的API,所以在早期项目中都会使用文件作存储载体。但是随着企业业务越来越复杂,网站访问量也越来越大时,对数据的并发性和检索速度有更高的要求。所以慢慢的也就引入使用数据库作为数据存储了。使用普通文件的遇到的问题:当文件变大时,使用普通文件将会变得非常慢,访问速度制约了应用性能 ..转载 2020-07-10 14:17:18 · 3123 阅读 · 0 评论 -
Android 为什么主线程的looper 一直循环不会ANR
阅读此文需要对handler原理有一定的了解程度。Handler 原理和源码首先贴出来两个知识点。第一 java线程可以休眠第二Android只有主线程可以更新UI有人觉得这是傻子都知道的知识,那接下来说傻子可能不知道的知识直接叙述所有java的入口都是main方法 由虚拟机调用,Android 的也不例外,刚开始学习那会根本没研究Android 从哪里开始执行的,现在我知道了告诉那些不知道的同学,不是从application。直接看源码ActivityThread看到.转载 2020-06-06 14:15:15 · 305 阅读 · 0 评论 -
Android关于recyclerview setVisibility的VISIBLE不展示的问题
开发项目遇见一个奇葩的问题,就是控制两个recyclerview显示隐藏。当点击一个显示隐藏recyclerview的时候,第一个是没有问题的,但是点击第二个就会出现问题,并且已经打印log,已经是展示隐藏了。如果先点击第二个,所有的显示隐藏是没有问题的。很棘手。最后在第二个显示的时候加了一行这个代码成功解决。rv_vehicle_enegy.requestLayout();...原创 2019-07-26 11:32:42 · 2174 阅读 · 0 评论 -
Android开发一些坑
1、关于图片转成base64的问题,请单开一个线程操作,耗时。public static String imageToBase64(String path){ if(TextUtils.isEmpty(path)){ return null; } InputStream is = null; byte[]...原创 2018-09-08 23:29:24 · 216 阅读 · 0 评论 -
关于计划任务报错的问题 0x80041301F 该实例正在运行的错误
https://www.cnblogs.com/xuliangxing/p/6876725.html原创 2018-06-08 08:45:17 · 4381 阅读 · 0 评论 -
Android 文字转语音播放(科大讯飞)
1、去科大讯飞官网注册,账号,下载在线语音合成的jar包放在libs文件夹下,然后进行关联 2、SpeechUtility.createUtility(getApplicationContext(), "appid=YOURAPPID"); 3、核心类package lhm.com.cfwheathy.goal;import android.content.Context;import and原创 2018-03-26 11:20:56 · 4843 阅读 · 0 评论 -
http协议基本概念
TTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。原创 2016-03-29 09:45:00 · 987 阅读 · 0 评论 -
java 之匿名内部类
匿名内部类:1,匿名内部类其实就是内部类的简写格式。2,定义匿名内部类的前提:内部类必须是继承一个类或者实现接口。3,匿名内部类的格式: new 父类或者接口(){定义子类的内容}4,其实匿名内部类就是一个匿名子类对象。5,匿名内部类中定义的方法最好不要超过3个。abstract class AbsDemo{abstract void show();}原创 2016-05-11 11:30:14 · 235 阅读 · 0 评论 -
接口与抽象类的总结
接口是java中的一大特性和一大支柱性的优点接口用来别具体的类实现,会自动继承接口中的抽象方法给这类继承他的类接口有点像是复制的意思.只不过是java中是这么写罢了现在已经开始"面向接口编程"时代,利用接口来解耦接口中的方法一定都会被继承他的类实现`,如果少继承了或者没有继承`会报错比如说`你写了10个类,每个类中都需要一些同名且返回值一样的方法,这时候就可以用接口,把这些方法原创 2016-05-07 10:44:15 · 572 阅读 · 0 评论 -
java之高级for循环
高级for循环格式:for(数据类型 变量名 : 被遍历的集合(Collection)或者数组){}对集合进行遍历。只能获取集合元素。但是不能对集合进行操作。迭代器除了遍历,还可以进行remove集合中元素的动作。如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。传统for和高级for有什么区别呢?原创 2016-05-18 11:00:23 · 422 阅读 · 0 评论 -
static的应用场景
什么使用静态?要从两方面下手:因为静态修饰的内容有成员变量和函数。什么时候定义静态变量(类变量)呢?当对象中出现共享数据时,该数据被静态所修饰。对象中的特有数据要定义成非静态存在于堆内存中。什么时候定义静态函数呢?当功能内部没有访问到肺静态数据(对象的特有数据),那么该功能可以定义成静态的。class Person{原创 2016-05-07 10:48:02 · 1005 阅读 · 0 评论 -
this关键字的应用
/*this:看上去,是用于区分局部变量和成员变量同名情况。this为什么可以解决这个问题?this到底代表的是什么呢?this:就代表本类的对象,到底代表哪一个呢?this代表它所在函数所属对象的引用。简单说:哪个对象在调用this所在的函数,this就代表哪个对象。this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。但凡本类功能内部使用了了本类对原创 2016-05-07 10:46:54 · 730 阅读 · 0 评论 -
static 的特点
→static特点1、随着类的加载而加载也就是说:静态会随着类的消失而消失,说明他的生命周期最长2、优先于对象存在3、被所有对象所共享4、可以直接被类名调用 →int age(成员变量)实例变量和 static int age(静态成员变量)类变量的区别1、存放为着实例变量是随着对象的创建而存在堆内存中类变量随着类的加载而存在于方法区中2、生命周期原创 2016-05-07 10:45:31 · 1060 阅读 · 0 评论 -
java之抽象类
当多个类中出现相同功能,但是功能主体不同,这是可以进行向上抽取。这时,只抽取功能定义,而不抽取功能主体。抽象:看不懂。抽象类的特点:1,抽象方法一定在抽象类中。2,抽象方法和抽象类都必须被abstract关键字修饰。3,抽象类不可以用new创建对象。因为调用抽象方法没意义。4,抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用原创 2016-05-09 14:15:56 · 665 阅读 · 0 评论 -
java之接口
接口:初期理解,可以认为是一个特殊的抽象类当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。class用于定义类interface 用于定义接口。接口定义时,格式特点:1,接口中常见定义:常量,抽象方法。2,接口中的成员都有固定修饰符。常量:public static final方法:public abstract 记住:接口中的成员都是pu原创 2016-05-09 15:41:29 · 253 阅读 · 0 评论 -
java之多态
在多态中成员函数的特点:在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有编译失败。在运行时期:参阅对象所属的类中是否有调用的方法。简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。在多态中,成员变量的特点:无论编译和运行,都参考左边(引用型变量所属的类)。在多态中,静态成员函数的特点:无论编译和运行,都参考做左边。class原创 2016-05-09 16:59:05 · 252 阅读 · 0 评论 -
Tomcat基础
动态资源:需要转换成静态资源后再响应给客户端,例如:jsp、servlet,其他语言的动态资源有:asp、php 静态资源:无需转发即可直接响应给客户端,例如:html、css、javascriptTomcat: 1. 开源免费的web服务器 2. jsp/servlet容器,支持Servlet规范 3. Tomcat默认端口为8080,可以在server.xml文件中修改端口 4. To原创 2017-07-05 13:52:40 · 226 阅读 · 0 评论 -
关于Android退出程序清空私密文件的那些事
1.前车之鉴 不要用递归,会把你的APP,不止App还有手机会卡死的,兄弟,切记切记。 2.正确姿势public class DeleteDir { static void deleteAllFiles(File root) { File files[] = root.listFiles(); if (files != null)转载 2017-06-14 17:16:34 · 348 阅读 · 0 评论 -
Android design tabLayout改变tabline颜色,及居中显示
1.居中显示的属性app:tabGravity="center"app:tabMode="fixed"2.tabline颜色app:tabIndicatorColor="@color/red"3.选中字体的颜色app:tabSelectedTextColor="@color/red"4.未选中字体的颜色app:tabTextColor="@原创 2017-08-07 15:24:08 · 2885 阅读 · 0 评论 -
java单例模式详解
class Single { //你声明的是一个static属性,那么它就会在虚拟机加载这个类的时候就帮你实例化好, //以后不再执行了,这个single对象会在虚拟机运行时一直存在于内存之中,//所以private static single s = new single();//这句话只会被调用一次,所以自然就只有这一个对...原创 2016-05-07 15:50:59 · 397 阅读 · 0 评论 -
Sockect原理分析
SOCKET原理 套接字(socket)概念 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。 应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程翻译 2016-03-30 14:22:48 · 1934 阅读 · 0 评论