![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 95
_ext
热爱编程。
展开
-
加密算法的比较和项目中的应用
加密技术通常分为两大类:"对称式"和"非对称式"。对称性加密算法:对称式加密就是加密和解密使用同一个密钥。信息接收双方都需事先知道密钥和加解密算法且其密钥是相同的,之后便是对数据进行加解密了。对称加密算法用来对敏感数据等信息进行加密。非对称算法:非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用,否则不能打开加密文件。发送双方A,...原创 2019-05-17 11:20:44 · 590 阅读 · 0 评论 -
主线程Looper.loop()里的死循环不ANR疑惑
引子:正如我们所知,在android中如果主线程中进行耗时操作会引发ANR(Application Not Responding)异常。当应用程序的UI线程响应超时才会引起ANR, 造成ANR的原因一般有两种:1. 当前的事件没有机会得到处理,例如UI线程正在响应另一个事件,当前事件被阻塞了。2. 当前的事件正在处理,但由于耗时太长没能及时完成。一般造成ANR的场景,从本质上将, ...原创 2019-08-03 22:55:25 · 1243 阅读 · 0 评论 -
多线程按顺序执行
一.前言本文使用了5中方法实现在多线程中让线程按顺序运行的方法,涉及到多线程中许多常用的方法,不止为了知道如何让线程按顺序运行,更是让读者对多线程的使用有更深刻的了解。 使用的方法如下:[1] 使用线程的join方法 [2] 使用主线程的join方法 [3] 使用线程的线程池方法 [4] 使用线程的CountDownLatch(倒计数)方法 [5]使用线程的Semaphore(信...原创 2019-05-18 16:39:05 · 4231 阅读 · 0 评论 -
并发容器ConcurrentHashMap线程安全的使用姿势
什么是线程安全的数据结构?简单的说就是不同线程可以访问同一份数据时,它们对这份数据的访问是无序、随机的,是不可控的。比如说你的房间谁都可以进来,但是你不确定他们谁先来谁后来或者可能同时来。你想让整件事更有秩序的在你的掌控之中,至少不能同时进来,于是就给房间上一把锁,每次只给一个人钥匙,他出来还钥匙之后你再给下一个人。这种带锁或等价机制的数据结构,就是线程安全的。什么时候需要使用...转载 2019-05-18 20:25:23 · 716 阅读 · 0 评论 -
android常用加密方案——三重DES实现
一什么是三重DES三重DES是为了增加DES的强度,将DES重复3次所得到的一种密码算法,通常缩写为3DES。二三重DSE加密明文经过三次DES处理才能变成最后的密文,由于DES密钥长度实质是56位,因此3DES的密钥长度就是56*3=168比特。注意:三重DES的三次DES加密是(加密->解密->加密),而不是(加密->加密->加密),为什么这样设计呢...原创 2019-05-17 10:59:24 · 700 阅读 · 0 评论 -
android常用加密方案——AES实现
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),是一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。那么为什么原来的DES会被取代呢,,原因就在于其使用56位密钥,比较容易被破解。而AES可以使用128、192、和256位密钥,并且用128位分组加密和解密数据,相对来说安全很多。完善的加密算法在理论上是无法破解的,除...原创 2019-05-17 10:18:53 · 1852 阅读 · 1 评论 -
Java 内存模型
并发编程模型的分类 在并发编程中, 我们需要处理两个关键问题: 线程之间如何通信及线程之间如何同步(线程指并发执行的活动实体). 通信是指线程之间以何种机制来交换信息. 在命令式编程中, 线程之间的通信机制有两种: 共享内存和消息机制. 在共享内存的并发模型里, 线程之间共享程序的公共状态, 线程之间通过写-读内存中的公共状态来隐式通信. 在消息传递的并发模型里, ...原创 2019-08-03 21:42:53 · 499 阅读 · 1 评论 -
Java异常处理和设计
在程序设计中,进行异常处理是非常关键和重要的一部分。一个程序的异常处理框架的好坏直接影响到整个项目的代码质量以及后期维护成本和难度。试想一下,如果一个项目从头到尾没有考虑过异常处理,当程序出错从哪里寻找出错的根源?但是如果一个项目异常处理设计地过多,又会严重影响到代码质量以及程序的性能。因此,如何高效简洁地设计异常处理是一门艺术,本文下面先讲述Java异常机制最基础的知识,然后给出在进行Java异原创 2016-10-08 18:28:21 · 760 阅读 · 0 评论 -
进程和线程的联系和区别
定义:一、进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。二、线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;进程和线程的关系:(1)一个线程只能原创 2016-10-09 21:59:32 · 509 阅读 · 0 评论 -
http、tcp/ip、socket
TCP/IP参考模型从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族。不同于ISO模型的七个分层,TCP/IP协议参考模型把所有的TCP/IP系列协议归类到五个抽象层中应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等传输层:TCP,UDP网络层:IP,ICMP,OSPF,EIGRP,IGMP...原创 2017-03-14 11:01:32 · 2057 阅读 · 0 评论 -
Java的四种引用方式
java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象。java对象的引用包括 强引用,软引用,弱引用,虚引用。Java中提供这四种引用类型主要有两个目的:第一是可以让程序员通过代码的方式决定某些对象的生命周期;第二是有利于JVM进行垃圾回收。下面来阐述一下这四种类型引用的概念:1.强引用 是指创建一个对象并把这个对象赋给...原创 2019-05-19 13:48:37 · 392 阅读 · 0 评论 -
浅析Android平台图像压缩方案
一、前言在 Android 中进行图片压缩是非常常见的开发场景,主要的压缩方法有两种:其一是质量压缩,其二是尺寸压缩。前者是在不改变图片尺寸的情况下,改变图片的存储体积,而后者则是降低图像尺寸,达到相同目的。在介绍Android平台的压缩方案之前,先了解一下Bitmap的几个主要概念。像素密度 像素密度指的是每英寸像素数目,在Bitmap里用mDensity/mTargetDen...原创 2019-05-19 22:55:53 · 594 阅读 · 1 评论 -
Android事件传递机制
在Android 开发中事件分发是比较重要的,也是比较难理解的,之前看过这方面的东西,以为自己弄懂了,也就没太注意,最近面试呢,想着肯定要问到这一块的东西,回顾的时候发现又忘了,真是好记性不如烂笔头啊,长期没有用到这一块的东西,也就抛之脑后了,今天用了半天时间,看资料有了解了一下,把这块内容整理一下,省的以后在以后学习过程中,要不断温故一下,看的时候就不用那么麻烦了。 文章参考于:h...原创 2016-03-05 21:59:56 · 426 阅读 · 0 评论 -
Android 异步消息处理机制
Message, MessageQueue, Handler, Looper之间的关系1、 概述Handler 、 Looper 、Message 这三者都与Android异步消息处理线程相关的概念。那么什么叫异步消息处理线程呢?异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环。若消息队...原创 2016-10-16 10:39:11 · 1120 阅读 · 2 评论