【java理论概念】
文章平均质量分 63
月疯
得到你最想要的东西,最保险的办法,那就是你能配得上你最想要的东西。机会是留给有准备的人,运气是留给有天赋的努力者。
展开
-
学习网站
参考地址:http://www.bingoogolapple.cn/#/Blog/BlogList原创 2019-05-13 17:39:22 · 114 阅读 · 0 评论 -
从零开始学习Linux部署Java web项目
前言最近越来越发现需要学习的东西太多了,前几天公司服务器出现问题,需要对服务器硬件进行维护,当然服务器上的服务需要部署到另一个服务器上。这对于我来说是很陌生的,虽然这件工作没有让我去做,但是还是很好奇web项目是如何部署到服务器的。其实很早之前就想学习这些,但是一直没有行动。所以趁着这股兴奋劲,就决定去学习一下,并做此次总结。准备工作虚拟机 : VMware10Linux : Cent...转载 2019-05-12 23:40:28 · 168 阅读 · 0 评论 -
Java开发必须要掌握的20个核心技术
这次介绍的主要内容是和J2SE相关的部分1. JVM相关(重点)对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。我在面试有超过3年Java经验的开发者的...转载 2019-05-12 22:56:21 · 187 阅读 · 0 评论 -
Java开发者必须掌握的15个框架
Java 程序员方向太多,且不说移动开发、大数据、区块链、人工智能这些,大部分 Java 程序员都是 Java Web/后端开发。那作为一名 Java Web 开发程序员必须需要熟悉哪些框架呢?今天,给大家列举了一些通用的、必须掌握的框架,学会这些,20K+ 不是问题。1.Spring(重点)毫无疑问,Spring 框架现在是 Java 后端框架家族里面最强大的一个,其拥有 IOC 和...转载 2019-05-12 22:52:59 · 249 阅读 · 0 评论 -
Java 生态圈知识汇总
参考地址:https://juejin.im/entry/5b2b02986fb9a00e9402abb5数据库分库分表、读写分离的开源Java库:使用Sharding-JDBC分库分表https://shardingsphere.apache.org/document/current/cn/overview/...转载 2019-05-12 21:39:47 · 1168 阅读 · 0 评论 -
android 4.4新功能介绍(Kitkat)
重要的行为变更如果您之前发布过 Android 应用,请注意您的应用可能受到 Android 4.4 变化的影响。如果您的应用从外部存储空间读取...您的应用在 Android 4.4 上运行时无法读取外部存储空间上的共享文件,除非您的应用具有READ_EXTERNAL_STORAGE权限。也就是说,没有此权限,您无法再访问getExternalStoragePublicDire...转载 2019-06-10 11:42:47 · 1794 阅读 · 0 评论 -
android 7.0 新功能介绍(Nougat)
多窗口支持在 Android 7.0 中,我们为该平台引入了一个新的而且非常需要的多任务处理功能 — 多窗口支持。现在,用户可以一次在屏幕上打开两个应用。在运行 Android 7.0 的手机和平板电脑上,用户可以并排运行两个应用,或者处于分屏模式时一个应用位于另一个应用之上。用户可以通过拖动两个应用之间的分隔线来调整应用。 在 Android TV 设备上,应用可以将自身置于画中画...转载 2019-06-10 11:15:40 · 760 阅读 · 0 评论 -
android-6.0 新功能介绍(Marshmallow)
着手开发要着手开发 Android 6.0 应用,您必须先获得 Android SDK,然后使用SDK 管理器下载 Android 6.0 SDK Platform 和系统映像。更新目标 API 级别要进一步优化您的应用在运行 Android 的设备上的性能,请将您的targetSdkVersion设置为"23",在 Android 系统映像上安装您的应用并进行测试,然后发布更新...转载 2019-06-10 11:25:41 · 659 阅读 · 0 评论 -
android-9.0主要有哪些新功能(Pie)
Android 9 功能和 API:Android 9.0 利用人工智能技术,让手机变得更智能、更快,并且还可以随着用户的使用习惯进行调整。利用 Wi-Fi RTT 进行室内定位Android 9 添加了对 IEEE 802.11mc Wi-Fi 协议(也称为 Wi-Fi Round-Trip-Time (RTT))的平台支持,从而让您的应用可以利用室内定位功能。在运行 Andro...转载 2019-06-10 10:45:39 · 928 阅读 · 0 评论 -
android-5.0新功能介绍(Lollipop)
多 SIM 卡支持Android 5.1 添加了对同时使用多个蜂窝运营商 SIM 卡的支持。有了此功能,用户可以在具有两个或多个 SIM 卡插槽的设备上激活和使用额外的 SIM。您可以通过SubscriptionManager类获取有关当前激活的 SIM 的信息,包括设备是否被认为在当前网络上漫游。对于希望为对数据访问费用敏感的设备用户减少或关闭应用数据访问的开发者而言,这些信息非常有...转载 2019-06-10 11:38:09 · 1167 阅读 · 0 评论 -
android-8.0的新功能介绍(Oreo)
用户体验通知在 Android 8.0 中,我们已重新设计通知,以便为管理通知行为和设置提供更轻松和更统一的方式。这些变更包括:图 1.用户可以长按应用启动器图标以查看 Android 8.0 中的通知。通知渠道:Android 8.0 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道。用户界面将通知渠道称之为通知类别。要了解如何实现通知渠道的信息,请参阅...转载 2019-06-10 10:58:24 · 684 阅读 · 0 评论 -
Android工程Gradle仓库配置及说明
一、引言作为Android开发人员都知道,在使用Android Studio工具开发只要增加依赖导入就可以加载公共库,这个是相当的方便,也是AS的优势之一,那么这个是什么原理呢?Android Studio 是基于 Gradle 构建系统,并通过适用于 Gradle 的 Android 插件提供更多面向 Android 的功能。通俗来讲,大部分工程都不太可能完全自给自足,一般你都会用到其...转载 2019-05-08 00:51:04 · 2267 阅读 · 0 评论 -
android全方位性能优化方法
1,布局优化布局优化的思想很简单,就是尽量减少布局文件的层级,布局中的层级少了,这就意味着Android绘制时的工作量少了,那么程序的性能自然就高了。那么如何进行布局优化呢?有以下两点:•首先删除布局中无用的看控件和层级,其次有选择地使用性能较低的ViewGroup,比如RelativeLayout。•可以采用标签、标签、ViewStub。标签主要用于布局重用,标签一般配合标签使用,它可...原创 2019-05-06 15:24:17 · 184 阅读 · 0 评论 -
总结Android开发中必备的代码Review清单
清理操作1.页面退出时,是否完成必要的清理操作是否调用Handler的removeCallbacksAndMessages(null)来清空Handler里的消息; 是否取消了还没完成的请求; 在页面里注册的监听,是否反注册; 假如自己用到观察者模式,是否反注册; 假如用了RxJava的话,是否解除订阅;2.数据库的游标是否已经关闭这个点一般人都知道,出问题一般在于,没有考虑到...转载 2019-05-07 14:48:21 · 113 阅读 · 0 评论 -
android高级资料
自己写一个组件化的工程:https://juejin.im/post/5cc5b3055188255e341c42baandroid把一个module打包成maven仓库,arr文件,远程访问其中的内容https://juejin.im/post/5cc5b3055188255e341c42baandroid自定义一个注解库https://juejin.im/post/5ca3...转载 2019-05-06 15:13:29 · 199 阅读 · 0 评论 -
正在成为史上最全分类 Android 开源大全
AndroidLibs目录 Catalogue列表List 动画Animation 图标Icon 图片框架Image 图表Chart 完整开源项目Project 布局Layout 开发框架Framework 弹框Dialog 按钮Button 文本Label 特效Effect 网络框架Network 自定义控件Custom(其他分类找不到的,大部分都在这个分类里...转载 2019-05-07 14:52:39 · 153 阅读 · 0 评论 -
android基础面试题(一)
Android基础面试题 (⭐⭐⭐)1、什么是ANR 如何避免它?答:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应 用程序无响应(ANR:Application NotResponding)对话框。 用户可以选择让程序继续运行,但是,他们在使用你的 应用程序时,并不希望每次都要处理这个对话框。因此 ,在程序里对响应性能的设计很重要...转载 2019-05-06 14:48:33 · 5993 阅读 · 0 评论 -
Android、Java泛型扫盲
首先我们定义A、B、C、D四个类,他们的关系如下class A {}class B extends A {}class C extends B {}class D extends C {}复制代码不指明泛型类型//以下代码均编译通过List list = new ArrayList();//不指明泛型类型,泛型默认为Object类型,故能往里面添加任意实例对象list...原创 2019-05-07 11:25:02 · 147 阅读 · 0 评论 -
android基础面试题(三)
问:Android系统至今有多少种Java虚拟机?分别有什么特点? 答:两种,Dalvik和Android Runtime。执行的文件是.dex文件和Java字节码文件。Android 4.4开始是使用Android Runtime虚拟机。 问:描述一下Android的apk包生成的过程。 答:略 问:使用WebView的时候要注意哪些问题?如何处理WebView造...转载 2019-05-06 16:02:18 · 206 阅读 · 0 评论 -
android高级面试题(二)
Android高级面试题 (⭐⭐⭐)一、性能优化1、做过哪些性能优化?是怎么评测和具体优化的?一、App启动速度优化开放问题:如果提高启动速度,设计一个延迟加载框架或者sdk的方法和注意的问题二、App绘制优化三、App内存优化内存抖动(代码注意事项):内存抖动是由于短时间内有大量对象进出新生区导致的,它伴随着频繁的GC,gc会大量占用ui线程和cpu资...转载 2019-05-06 14:53:43 · 15464 阅读 · 1 评论 -
java发展
展望从 1995 年第一个版本发布到现在,Java 语言已经在跌宕起伏中走过了 22 年,最新的 Java 版本也已经迭代到 Java 9。当年 Java 语言的跨平台优势如今看来也只不过是家常小菜,Go、Rust 等语言横空出世,进一步拓宽了编程语言的边界。当年发明 Java 语言的 Sun 公司早已被 Oracle 收购,Oracle 现在也正处于水深火热的云计算浪潮当中,甚至连 Java...翻译 2019-05-07 15:15:22 · 581 阅读 · 0 评论 -
POI使用详解
Apache POI使用详解1.POI结构与常用类(1)POI介绍 Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 .NET的开发人员则可以利用NPOI (POI for .NET) 来存取 Microsoft Office文档的功能。(2)POI结构说明 包名称说明HSSF提供读写Micros...转载 2018-04-06 20:55:46 · 637 阅读 · 0 评论 -
Mybatis解析(面试题)
Mybatis常见面试题(转)Mybatis技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用Mybatis的文章,所以,一些参数使用细节略掉了,我们的目标是介绍Mybatis的技术架构和重要组成部分,以及基本运行原理。博客写的很辛苦,但是写出来却不一定好看,所谓开始很兴奋,过程很痛苦,结束很遗憾。要求不高,只要读者能从系列博客中...转载 2018-04-06 20:51:47 · 189 阅读 · 0 评论 -
Hadoop、spark、Flink、Blink、storm介绍
1、什么是hadoop(搭建集群)Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进行分布式储存和读取。MapReduce是一个计算框架:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算/Reduce计算)再根据任务调度器(JobT原创 2022-03-08 12:43:11 · 1595 阅读 · 0 评论 -
Hibernate常见面试题
在Java J2EE方面进行面试时,常被问起的Hibernate面试问题,大多都是针对基于Web的企业级应用开发者的角色的。Hibernate框架在Java界的成功和高度的可接受性使得它成为了Java技术栈中最受欢迎的对象关系影射(ORM)解决方案。Hibernate将你从数据库相关的编码中解脱了出来,使你可以更加专注地利用强大的面向对象的设计原则来实现核心的业务逻辑。采用Hibernate后,你...转载 2018-04-07 02:02:22 · 169 阅读 · 0 评论 -
mysql和monggodb比较
一、概要几十年来,关系型数据库已经成为企业应用程序的基础,自从MySQL在1995年发布以来,它已经成为一种受欢迎并且廉价的选择。然而随着近年来数据量和数据的不断激增,非关系数据库技术如MongoDB应运而生,以满足新应用的需求。 MongoDB用于新的应用程序,以及扩充或替换现有的关系型基础设施(关系型数据库)。 二、什么是Mysql MySQL是由Oracle公司开发,发布...转载 2018-12-11 02:42:33 · 4768 阅读 · 0 评论 -
内存溢出和内存泄露(微服务和分布式区别)
内存溢出好理解,就是JVM内存有限。如果对象太多,JVM内存放不下了,就会内存溢出。内存泄露理解:java里面的引用关系(强引用、弱引用、软引用和虚引用)GC回收弱引用、软引用和虚引用。如果强引用:是无用的引用Object obj = new Object();list.add( obj );obj = null ;obj就会造成内存泄漏。在实际开发中最常见的内存泄漏就是打开资源后没有调用close()方法。例如socket、io流等,都需要再最后close()一下防止原创 2022-03-06 23:42:02 · 437 阅读 · 0 评论 -
Java并发编程:Lock
Java并发编程:Lock 在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文...转载 2018-04-06 20:53:44 · 142 阅读 · 0 评论 -
CURD解释
它代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)操作。CURD 定义了用于处理数据的基本原子操作。.CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中DataBase或者持久层的基本操作功能。CRUD说的就是增查改删C:...转载 2018-12-09 20:29:46 · 32928 阅读 · 0 评论 -
Hadoop基础知识
Hadoop的文件系统主要来自google File System :GFS一、什么是大数据,本质?1、数据的存储:分布式文件系统(分布式存储)----------------------->HDFS:Hadoop Distrisbuted File System2、数据的计算:分布式计算二、如何解决大数据的存储?-------------->分布式文件系统(HDFS,...原创 2020-04-20 18:55:10 · 476 阅读 · 0 评论 -
Java的jvm原理和常识
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台...翻译 2019-05-16 02:15:27 · 190 阅读 · 0 评论 -
深入理解volatile
共享变量:共享变量是指可以同时被多个线程访问的变量,共享变量是被存放在堆里面,所有的方法内临时变量都不是共享变量。重排序:重排序是指为了提高指令运行的性能,在编译时或者运行时对指令执行顺序进行调整的机制。重排序分为编译重排序和运行时重排序。编译重排序是指编译器在编译源代码的时候就对代码执行顺序进行分析,在遵循as-if-serial的原则前提下对源码的执行顺序进行调整。as-if-serial...转载 2019-05-17 11:56:07 · 213 阅读 · 0 评论 -
Java内存分配之堆、栈和常量池
***********************************************************************************************************************Java内存分配主要包括以下几个区域:1. 寄存器:我们在程序中无法控制2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆...转载 2019-05-13 16:15:14 · 126 阅读 · 0 评论 -
java中的守护线程
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是 G...转载 2019-05-13 16:31:58 · 184 阅读 · 0 评论 -
原子性、有序性和可见性解释
概念解释:原子性(Atomicity)由 Java 内存模型来直接保证的原子性变量操作包括 read、load、assign、use、store 和 write。大致可以认为基本数据类型的操作是原子性的。同时 lock 和 unlock 可以保证更大范围操作的原子性。而 synchronize 同步块操作的原子性是用更高层次的字节码指令 monitorenter 和 monitorexit ...转载 2019-05-17 18:26:53 · 11338 阅读 · 3 评论 -
MAX_VALUE的最大值和最小值是多少
计算机中分为原码、反码、补码:原码: [为了方便起见,均以8位来展示]如 1 原码 0000 0001反码:1 反码 1111 1110补码: [反码+1]1 补码 1111 1111计算机中底层的计算都是根据数的补码来进行计算的,主要是为了满足两个数不管加法、减法均可直接通过相加的方式实现。超过规定位数的会截取掉。如上规则也导致了如下的现象:...原创 2019-05-30 15:20:45 · 4719 阅读 · 0 评论 -
通俗理解Spring的IOC和AOP
字面意思通俗理解:参考Aop理解地址:https://blog.csdn.net/ios_xumin/article/details/78465782参考IOC和DI理解地址:https://blog.csdn.net/lhy55040817/article/details/5335699具体代码理解:https://www.cnblogs.com/vanl/p/5607534....转载 2019-05-29 11:26:07 · 513 阅读 · 0 评论 -
什么是ORM
因为要满足Java对象得到持久化(即保存)的需求。ORM:(Object/Relation Mapping): 对象/关系映射ORM的实现思想:将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转化为对对象的操作。因此ORM的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作。具体参考如下2个图:...转载 2019-06-07 22:44:03 · 109 阅读 · 0 评论 -
Spring Data JPA 与 Mybatis的区别
1.概述Spring Data JPA可以理解为 JPA 规范的再次封装抽象,底层还是使用了 Hibernate 的 JPA 技术实现。MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。Mybatis:着力于POJO与SQL之间的映射关系。2....转载 2019-06-08 00:58:03 · 15617 阅读 · 2 评论 -
沙箱机制
一、沙箱是什么? 沙箱是一个虚拟系统程序,沙箱提供的环境相对于每一个运行的程序都是独立的,而且不会对现有的系统产生影响。二、沙箱的应用 (1)搭建测试环境。沙箱的应用只能访问自己的应用访问目录,而不能应用之间的资源进行共享,这样就形成了一个相对安全的机制,由于沙箱具有非常良好的独立性、隔离性,所以能够搭建一些具有高风险的软件进行测试。 (2)应用容器的利用,如Docker就是...转载 2019-06-10 09:32:50 · 498 阅读 · 0 评论