Java基础
carter_yu
小白,逐渐成为大白,努力成为大牛。(^。。^)
展开
-
Java GUI图形化用户界面
GUI(Graphical User Interface)图形用户界面,又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。AWT(Abstract Window Toolkit)抽象窗口工具包,该包提供了一套与本地图形界面进行交互的接口,是Java提供的用来建立和设置Java的图形用户界面的基本工具。UWP(Universal Windows Platform)Windows通用应用平台,在Windows 10 Mobile/Surface(Windows平板电脑)/PC/Xbox/.原创 2020-05-15 10:09:54 · 742 阅读 · 1 评论 -
Java Lambda表达式使用及原理
目录前言Lambda 定义基本使用原理总结前言希腊字母希腊字母是希腊语所使用的字母,也广泛使用于数学、物理、生物、化学、天文等学科。希腊字母跟英文字母、俄文字母类似,只是符号不同,标音的性质是一样的。希腊字母是世界上最早有元音的字母。Lambda表达式使用了λ的英文名称。函数式接口函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但...原创 2019-12-30 09:27:12 · 611 阅读 · 0 评论 -
记录最近遇到的两个小问题
前几天在项目中遇到的两个小问题,说是问题,其实是非常基础的知识。再一次暴露了基础不扎实的漏洞1、Long型比较大小相信大家都清楚Long和long的区别,long是基本数据类型,而Long是包装类型。long存储在堆栈,Long存储在堆中;long不是面向对象的,Long是面向对象的;包装类型的好处:方便涉及到对象的操作,包含了基本数据类型的相关属性和相关操作方法。因为Long型数据是一个对原创 2016-04-30 17:00:04 · 517 阅读 · 0 评论 -
Java设计模式 · 观察者模式
在《JAVA与模式》一书中开头是这样描述观察者(Observer)模式的: 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象转载 2016-05-09 16:09:02 · 343 阅读 · 0 评论 -
JAVA设计模式 · 策略模式
策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的结构策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法原创 2016-02-19 17:48:01 · 379 阅读 · 0 评论 -
Android知识架构 · 电话面试 · Java的编程思想
开始之前,先叨逼叨逼这两天很受程序员关注的事情,尤其是很受移动端关注的新闻:微信小程序(应用号)开始内测了~~~~让我这个还在这里写Android面试思想,总结知识架构的屌丝凌乱在风中。有人问我,应用号推出之后,会不会打击移动开发者? 我微微一笑,很倾城:你想多了,不会再让很多人失业了,因为现在失业的已经够多了……华丽丽的分割线Java的编程思想?这个问题范围太大了,涉及到的问题也太多了,是面向对象原创 2016-09-22 21:05:36 · 2611 阅读 · 0 评论 -
ConcurrentModificationException
ConcurrentModificationException异常的直接翻译:同时改变异常~~从字面意思可以看出:这是同一时间有两个变化发生;下面这段代码就会出现这个错误:for (Player player : playList) { if (players.get(i).getMatchPlayerId() == 1) { break; } else原创 2016-12-04 18:43:42 · 391 阅读 · 0 评论 -
Error occurred during initialization of VM; Could not reserve enough space for 1572864KB object heap
下边是新建项目之后,提示的完整错误信息Error:Failed to complete Gradle execution.Cause:Unable to start the daemon process.This problem might be caused by incorrect configuration of the daemon.For example, an unrecogniz原创 2017-01-03 15:18:50 · 4311 阅读 · 3 评论 -
各种数据结构的比较
数组 —— 优点是插入块,如果知道下标,可以非常快的存取。缺点是查找慢,删除慢,大小固定。有序数组 —— 优点是比无序数组查找快。缺点是插入和删除慢,大小固定。栈 —— 提供后进先出方式的存取。缺点是存取其他项很慢。队列 —— 提供先进先出方式的存取。缺点是存取其他项很慢。链表 —— 优点是插入快,删除快。缺点是查找慢。二叉树 —— 优点是查找、插入、删除都快(如果树保持平衡)。缺点是删除原创 2017-02-06 20:14:51 · 1129 阅读 · 0 评论 -
java基础总结
//原文:http://blog.csdn.net/scythe666/article/details/51841161一、JVM1、内存模型1.1.1 内存分几部分(1)程序计数器可看作当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需转载 2017-04-10 15:23:27 · 766 阅读 · 0 评论 -
Java的replaceAll()方法
replaceAll( )方法实际是采用正则表达式的规则去匹配的。在regex中”\\”表示一个”\”,在java中一个”\”也要用”\\”表示。这样,前一个”\\”代表regex中的”\”,后一个”\\”代表java中的”\”,所以字符串转义一次,正则转义一次,那么一个斜扛要写4个。1、Java的字符串反斜杠(‘\’)转换为(‘/’)string = string.replaceAll("\\\\原创 2017-06-26 10:08:40 · 4156 阅读 · 1 评论 -
Java注解:@IntDef 替换 Emum
枚举(Eeum)的缺点每一个枚举值都是一个对象,在使用它时会增加额外的内存消耗,所以枚举相比与 Integer 和 String 会占用更多的内存。较多的使用 Enum 会增加 DEX 文件的大小,会造成运行时更多的开销,使我们的应用需要更多的空间。使用@IntDef代替枚举public class IntDefClass { IntDefClass(){} priva...原创 2019-04-17 11:58:28 · 2138 阅读 · 0 评论 -
原码、反码、补码(Integer.MIN_VALUE、Integer.MAX_VALUE)
计算机以“补码”形式存储数字,通过ASCII表对应的数字存储字符,通过GBK表对应的数字存储文字。原码: 原始二进制位,最高位是符号位。反码:(正数)反码 = 原码(负数)反码 = 符号位不变,其它位反转补码:(正数)补码 = 反码 = 原码(负数)补码 = 反码的符号位不变,其它位 +1图片来源:https://blog.csdn.net/it_is_me_a/arti...原创 2019-09-20 08:20:31 · 638 阅读 · 0 评论 -
Java常用排序
http://blog.csdn.net/spy19881201/article/details/5867721http://www.cnblogs.com/sevenyuan/archive/2009/12/04/1616897.htmlhttp://www.cnblogs.com/liuling/p/2013-7-24-01.htmlhttp://www.androidchina.net/303原创 2016-04-27 10:25:25 · 323 阅读 · 1 评论 -
Java中的WeakReference
java语言中为对象的引用分为了四个级别,分别为 强引用 、软引用、弱引用、虚引用。强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。 ps:强引用其实也就是我们平时A a = new原创 2016-03-22 16:21:00 · 527 阅读 · 1 评论 -
Java枚举类 enum
文章目录enum简介enum原理解析enum常用操作enum常用方法enum扩展注意事项enum简介在Java SE5中添加了一个新特性,即enum关键字,它是的我们在需要群组并使用枚举类型时,可以方便的处理。实际上,enum是一个特殊的class,特殊在Java编译器帮我们做了语法的解析和编译。enum和普通class不同之处在:enum不能使用extends关键字继承其他类,因为enum已经继承原创 2016-01-10 17:33:48 · 851 阅读 · 0 评论 -
Java基本数据类型
Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定。由于是statical typed,导致Java语言也是强类型(Strong typed)的。强类型意味着每个变量都具有一种类型,每个表达式具有一种类型,并且每种类型都是严格定义的,类型限制了变量可以hold哪些值,表达式最终产生什么值。同时限制了这些值可以进行的操作类型以及操作的具体方转载 2016-03-01 20:55:18 · 451 阅读 · 0 评论 -
Java中的Random()
Java中存在着两种Random函数:一、java.lang.Math.Random;调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。例如下面的实验代码 编译通过后运行结果如下图转载 2016-01-03 14:58:41 · 384 阅读 · 0 评论 -
Long和long的区别
Java数据类型分为两类:基本数据类型(primitive types)引用数据类型(reference types)Long叫 long的包装类。Integer、Byte和Float也类似,一般包装类的名字首写是数值名的大写开头。在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进原创 2016-03-01 21:38:42 · 630 阅读 · 0 评论 -
浅析“高内聚,低耦合”
面向对象的基本原则:多聚合,少继承;高内聚,低耦合多聚合聚合,是指多个元素在一起使用,组成新的元素;在Java中有“组合类”一说:一个类是由其他的类组合而成的,因此新组成的类就拥有了其组合类的属性和方法。少继承继承,是指一个类继承自另一个类,新的类就可以使用(或重写或增加)被继承类的方法;Java的继承关键字 extends ,Java遵循单一继承原则,一个类只能继承一个类,但是可以实现多个接口;关原创 2016-03-02 22:11:09 · 4166 阅读 · 0 评论 -
给 Android 开发者的 RxJava 详解
这篇文章的目的有两个:给对 RxJava 感兴趣的人一些入门的指引给正在使用 RxJava 但仍然心存疑惑的人一些更深入的解析RxJava 到底是什么RxJava 好在哪API 介绍和原理简析1. 概念:扩展的观察者模式观察者模式RxJava 的观察者模式2. 基本实现1) 创建 Observer2) 创建 Observable3) Subscrib转载 2016-03-15 22:22:17 · 640 阅读 · 0 评论 -
Java设计模式 · 单例模式
单例模式的概念 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。单例模式的结构 单例模式的特点:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。 饿汉式单例类public class EagerSing原创 2016-02-22 18:09:36 · 316 阅读 · 0 评论 -
《深入理解Java虚拟机》
在C里面我们想执行一段自己编写的机器指令的方法大概如下:typedef void(*FUNC)(int);char* str = "your code";FUNC f = (FUNC)str;(*f)(0); 也就是说,我们完全可以做一个工具,从一个文件中读入指令,然后将这些指令运行起来。转载 2016-03-11 10:19:31 · 721 阅读 · 0 评论 -
深入浅出RxJava(一:基础篇)
RxJava正在Android开发者中变的越来越流行。唯一的问题就是上手不容易,尤其是大部分人之前都是使用命令式编程语言。但是一旦你弄明白了,你就会发现RxJava真是太棒了。这里仅仅是帮助你了解RxJava,整个系列共有四篇文章,希望你看完这四篇文章之后能够了解RxJava背后的思想,并且喜欢上RxJava。基础RxJava最核心的两个东西是Observabl转载 2016-03-09 15:58:05 · 389 阅读 · 0 评论 -
深入浅出RxJava(二:操作符)
准备工作假设我有这样一个方法:这个方法根据输入的字符串返回一个网站的url列表(啊哈,搜索引擎)[java] view plain copyObservable> query(String text); 现在我希望构建一个健壮系统,它可以查询字符串并且显示结果。根据上一篇blog的内容,我们可能会写出下面的代码:[转载 2016-03-09 16:03:48 · 350 阅读 · 0 评论 -
深入浅出RxJava三--响应式的好处
错误处理到目前为止,我们都没怎么介绍onComplete()和onError()函数。这两个函数用来通知订阅者,被观察的对象将停止发送数据以及为什么停止(成功的完成或者出错了)。下面的代码展示了怎么使用这两个函数:Observable.just("Hello, world!") .map(s -> potentialException(s)) .ma转载 2016-03-09 16:06:32 · 324 阅读 · 0 评论 -
深入浅出RxJava四-在Android中使用响应式编程
RxAndroidRxAndroid是RxJava的一个针对Android平台的扩展。它包含了一些能够简化Android开发的工具。首先,AndroidSchedulers提供了针对Android的线程系统的调度器。需要在UI线程中运行某些代码?很简单,只需要使用AndroidSchedulers.mainThread():retrofitService转载 2016-03-09 16:11:01 · 377 阅读 · 0 评论 -
Timer和TimerTask详解
一 · Timer和TimerTask简介Timer:官方文档 ——public class Timer extends ObjectTimers schedule one-shot or recurring tasks for execution. Prefer ScheduledThreadPoolExecutor for new code. Each timer has原创 2016-01-25 23:01:56 · 827 阅读 · 0 评论