![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
struggleqiang
这个作者很懒,什么都没留下…
展开
-
关于跨域的总结
跨域是什么?就是不同的网站之间调用就会出现跨域,只有当协议、主机(IP)和端口相同,我们就说是同域,其他的调用都是跨域。1、使用HttpClient解决跨域,即ajax请求地址改为自己系统的后台地址,之后在自己的后台用HttpClient请求url,这是通过apache提供的API去解决。2、通过在服务端设置Access-Control-Allow-Origin,即在服务端设置允许原创 2016-03-08 20:58:12 · 365 阅读 · 0 评论 -
常见查找算法
1 顺序查找顺序查找指在通过遍历表中的每个元素,直到找到关键字为止。时间复杂度为O(n)2 择半查找(二分查找)择半查找指在顺序表(有序数组)的前提条件下,假设数组s长度为n,开始索引为sIndex=0,结束索引为eIndex=n-1,中间索引为mIndex,查找关键字为k;第一次查找,mIndex=(sIndex+eIndex)/2和查找关键字k比较,若k>s[mIndex...原创 2019-02-11 09:39:50 · 371 阅读 · 0 评论 -
关于hashCode和equals的总结
hashCode是散列码,利用键值对存储数据,方便快速查找所需的对象。而equals用于判断两个对象的值是否相等,效率就比较低;简单的理解就是hashCode用于快速过滤刷选,只有hashCode存在相同的时候,才会调用equals方法进行下一步的比较。(hashCode主要缩小查找成本)如果两个对象相等,则hashcode一定也是相同的 两个对象相等,对两个对象分别调用equals方法都返...原创 2019-01-30 11:19:26 · 353 阅读 · 0 评论 -
java设计模式专题
1 创建型模式1.1 简单工厂模式1.2 工厂方法模式1.3 抽象工厂模式1.4 建造者模式1.5 原型模式1.5 单例模式 2 结构型模式2.1 适配器模式2.1 桥接模式2.2 组合模式2.3 装饰模式2.4 外观模式2.5 亨元模式2.6 代理模式 3 行为型模式3.1 职责链模式3.2 命令模式3.3 解释器模...原创 2019-01-16 15:19:59 · 355 阅读 · 0 评论 -
Atomic 原子类
Atomic原子类指具有原子性特征的类,所有的原子类API都在java.util.concurrent.atomic包下,如图所示:使用原子类的作用就是不需要调用者手动加锁(volatile,synchronized等)就能保证在多线程环境中是线程安全,因为原子类在JDK层面做了线程安全的工作,保证线程操作是安全的。...原创 2018-12-23 16:49:32 · 362 阅读 · 0 评论 -
并发知识之AQS原理
AQS是在java.util.concurrent.locks包下的API,可以轻松构建锁和同步器的框架。其原理图如下:原创 2018-12-23 15:53:56 · 148 阅读 · 0 评论 -
寄存器、缓存、内存、硬盘、存储器的理解
存储器是指能存储数据的器件,包括寄存器、缓存、内存、硬盘,其对应CPU访问的速度由快到慢分别是寄存器>缓存>内存>硬盘。寄存器是中央处理器的组成部分,是一种直接整合到cpu中的有限的高速访问速度的存储器,它是有一些与非门组合组成的,分为通用寄存器和特殊寄存器。(容量小,主要存储指令和CPU频繁访问的数据)缓存其实是内存中高速缓存(cache),它之所以存在,是因为当cpu...转载 2018-12-16 20:50:40 · 849 阅读 · 0 评论 -
java线程之synchronized关键字
1 synchronized同步代码块synchronized (this) { System.out.println("synchronized 代码块"); }synchronized 同步语句块的实现使用的是 monitorenter 和 monitorexit 指令,其中 monitorenter 指令指向同步代码块的开始位置,monitorexit 指令则指明同步代码...原创 2018-12-16 20:22:35 · 209 阅读 · 0 评论 -
java线程之volatile关键字
volatile关键字主要作用:1 保证内存可见性即确保多个线程能够访问到主内存中的变量是最新的状态。(保证了主内存和线程工作线程中操作过后的最新变量状态)2 防止指令重排指令重排序是JVM为了优化指令,提高程序运行效率的一种机制,包括编译器重排序和运行时重排序;在单线程的情况下是不会影响执行的结果,但是在多线程的环境下执行的结果就会出现错乱。而volatile关键字便可以阻止指令...原创 2018-12-16 17:15:26 · 163 阅读 · 0 评论 -
Windows下Resin的安装及配置详解
http://blog.51cto.com/lookingdream/1889415转载 2018-06-09 23:35:29 · 1916 阅读 · 0 评论 -
Java虚拟机总结
1、java语言的运行过程。首先java源文件(.java)通过java编译器编译成java字节码文件(.class),接着通过JVM虚拟机将java字节码加载、解析成运行主机能识别的机器码。2、jvm中的堆和栈。Stack(栈)是JVM的内存指令区。主要存储基本的数据类型、Java 指令代码、常量等字节长度已知的数据。Heap(堆)是JVM的内存数据区。主要存储对象的实例(包括属性),一般分配的...原创 2018-05-27 16:45:07 · 218 阅读 · 0 评论 -
JAVA并发编程
java并发编程:1、了解进程和线程的概念,通常一个应用程序可以看做一个进程,它需要分配占用CUP资源,一个进程包含一个或多个线程,多个线程共用进程申请的CUP资源。创建线程的方式一般是通过Thread类和Runnable接口。2、通过synchronzied和lock来实现并发操作。3、通过高版本JDK中java.util.concurrent包提供的API实现并发编程。...原创 2018-03-18 09:18:38 · 129 阅读 · 0 评论 -
安卓四大组件之Activity
1、Activity生命周期,如下图:此外重点关注onSaveInstanceState和onRestoreInstanceState两个存储数据状态的方法。2、Activity启动模式1、标准模式standard(也是默认的模式)。采用这种方式启动activity,每次都会创建新的实例对象在任务栈中(原任务栈中,不会启动新的Task)。2、栈顶复用模式single翻译 2018-01-02 22:27:23 · 222 阅读 · 0 评论 -
安卓Application级别之PackageManager
PackageManager主要是获取应用级别相关的东西,比如应用基础组件信息,应用权限信息,清单文件的一些基本信息和有关包相关的信息等。原创 2017-12-25 22:06:35 · 987 阅读 · 0 评论 -
多线程操作同一个方法的问题
多线程操作同一个方法的问题,注意方法中不能有全局变量。原创 2016-06-13 11:48:17 · 954 阅读 · 0 评论 -
Java虚拟机的知识点
https://segmentfault.com/a/1190000002579346转载 2016-06-27 20:27:11 · 352 阅读 · 0 评论 -
关于安卓调试桥adb.exe被金山wps软件导致冲突问题。
1、adb.exe会被金山软件wps中的一个adb.exe程序强占端口的问题,导致安卓的adb.exe进程不稳定,老掉线的问题。原创 2016-05-16 15:43:00 · 1958 阅读 · 2 评论 -
常见排序算法
1 冒泡排序冒泡排序的原理是相邻两个元素两两比较,如果左侧数据大于右侧数据,则两者交换位置;否则不动。时间复杂度:最好时间复杂度: O(n);最差时间复杂度:O(n²);平均时间复杂度:O(n²)辅助空间:O(1)稳定性:稳定代码如下: /** * 冒泡排序 * * @param numbers */ public stat...原创 2019-02-11 14:32:58 · 243 阅读 · 0 评论