自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(351)
  • 资源 (6)
  • 问答 (2)
  • 收藏
  • 关注

原创 java中final修饰词学习

在jls15中,我们通过搜索final关键字,可以搜索到关键字final的用处。下面我们对final进行学习。一、final修饰变量一个变量可以被声明为final。一个final变量可能只能被赋值一次。除非在一次赋值之前,该final变量必须是明确未赋值的,否则其如果被赋值,则将会抛出编译错误。一旦一个final变量已经被赋值了,他就会一直保持相同的值。如果一个变量是指向一个对象的引用,对象的状态可能会被对象的操作所改变,但是该变量会一直只想相同的对象。这个也同样应用到数组,因为数组也是对象;如果一个

2022-03-21 22:58:43 739

原创 mybatis源码过程学习梳理

一、mybatis配置文件详情在Spring中,是使用xml的配置文件或使用java代码对mybatis的连接属性,环境等进行配置的,我们先看一下mybatis中对配置文件中节点的要求。通过mybatis官方网站中XML配置一栏,可以得出相应需求:properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environmen

2022-03-16 11:02:33 1363

原创 java基础-ArrayDeque学习

系列文章目录1、ArrayList - ArrayList函数及相关解释(一)2、ArrayList - ArrayList函数及相关解释(二)文章目录系列文章目录ArrayDeque介绍1、calculateSize2、allocateElements3、doubleCapacity4、copyElements5、构造方法6、add方法7、addLast方法8、offerFirst方法9、addFirst方法10、offerLast方法11、removeFirst方法12、pollFirst方法

2021-04-18 17:23:55 340

原创 Spring IoC容器4

系列文章目录 (一)、Spring IoC容器(二)、Spring IoC容器2(三)、Spring IoC容器3文章目录系列文章目录基于Setter的依赖注入依赖关系的处理过程循环依赖依赖注入的例子基于Setter的依赖注入基于Setter的依赖注入,是当调用一个无参构造器或一个没有参数的静态工厂方法实例化一个bean之后,容器调用bean的setter方法完成的。下面的例子展示了一个仅仅能够使用单纯的setter注入来实现依赖注入的类。这个类是传统的Java。他是一个没有依赖,没有容

2021-03-19 14:49:38 158

原创 Spring Ioc容器 - 3

文章目录1.4、依赖1.4.1 依赖注入基于构造器的依赖注入构造器参数解析构造器参数类型匹配构造器参数索引构造器参数名称1.4、依赖一个典型的企业级应用不仅仅包含一个对象(也就是在Spring说法中的bean)。即使最简单的应用也有一些一块协作的对象来作为一个连贯的应用展现给用户。下一小结展示了如何从单独定义一些bean定义到如何通过对象之间的合作实现一个完整的应用程序。1.4.1 依赖注入依赖注入(DI)是对象定义他们的依赖(也就是说,与该对象一快协作的对象)的过程,该过程仅仅通过构造器参数,工

2021-03-17 16:42:39 145

原创 Spring Ioc容器 - 2

接着从Spring Ioc容器继续学习Spring的知识。内部类名如果你想要为一个static嵌套类配置一个bean定义,你必须使用嵌套类的二进制名称。例如,如果在包com.example中有一个名字为SomeThing的类,并且这个SomeThing类有一个static的名称为OtherThing的嵌套类,在bean定义上的class属性应该为com.example.SomeThing$OtherThing。注意,在名称中使用$来从外部类名称中分离嵌套类。使用构造器初始化当你使用构造器创

2021-03-17 16:33:43 142

原创 ArrayList函数及相关解释(二)

书接上回,如果大家感兴趣,可以先看我的第一篇博客ArrayList函数及相关解释(一)。2.16 rangeCheckForAdd(int index)函数该函数用于当想列表中的指定位置添加数据的时候,判断指定的位置是否是在合法的范围之内,也就是是否是小于0或大于当前列表中的数据量。private void rangeCheckForAdd(int index) { if (index > size || index < 0) throw new I

2020-10-13 14:43:36 241

原创 ArrayList函数及相关解释(一)

Java中ArrayList是使用对象数组实现的,默认的数组容量为10。在ArrayList中,默认创建了两个空的对象数组,一个用户该对象的空实例,一个用于当第一个元素被添加的时候,该数组要被填充多少。同时,该类中还有一个transient属性的对象数组,transient描述的对象属性,表示在序列化的时候,不用去序列化该属性。1、ArrayList构造函数首先我们看一下ArrayList的构造函数,该类有三个构造函数,分别是:ArrayList(int initialCapacity)Arra

2020-08-14 17:31:29 1233

原创 Linux容器 - LXC简介

什么是LXCLXC是在Linux内核容器特征的一个用户空间接口。通过强大的API和简单的工具,他使得Linux用户很简单的创建并且管理系统或应用容器。特征当前的LXC使用下面的内核特征来包含进程:内核命名空间(Kernel namespace)(ipc,uts,mount,pid,network和user)Apparmor和SELinux属性Seccomp策略Chroots内核功...

2019-12-01 23:24:51 781

原创 Spring IoC容器

核心技术发行版5.0.8这一部分的指导文档覆盖了所有的完全集成到Spring框架中的技术。这些技术中首要的便是Spring框架的控制反转(IoC)容器。Spring框架的IoC容器的全面的处理是与Spring的面向切面编程(AOP)的彻底实现紧密相关的。Spring框架拥有他自己的AOP框架,该技术在概念上是很容器理解的,并且成功的解决了在Java企业编程中的AOP需求的80%的点。该框...

2019-05-31 11:40:01 12374

原创 高性能负载均衡2

2.3 UDP负载均衡问题你需要在两个或多个UDP服务器之间进行负载均衡。解决方法在UDP服务器之间使用Nginx的stream模块进行负载均衡,使用被定义为udp的upstream块。 stream{ upstream ntp { server ntp1.example.com:123 weight=2; server ntp2.example.com:123; ...

2019-04-26 18:21:12 268

原创 高性能负载均衡(一)

2.0介绍如今的网上的用户体验需要性能和时间。为了实现这样的功能,多个同样系统的副本正在运行,并且负载在这些复制品之间分发。随着负载的增加,另外一个系统的副本可以联机。这个架构技术被称为横向扩展。基于软件的基础设施由于其灵活性而日益流行,从而打开了一个巨大的可能性的世界。对应高可用来说,用例是小到一组两个,还是大到全球数千个,仍然需要一个与基础设施一样的动态的负载均衡解决方案。Nginx以不同的...

2019-04-10 11:39:16 340

原创 Nginx基本知识

1.0 介绍为了开始使用Nginx开放源代码或Nginx Plus,你必须首先在系统中安装它并且学习一些基础知识。在该章节中,你将会学习如何安装Nginx,主配置文件在哪里,并且管理员使用的相关命令。你也将会学习如何去验证你的安装并向默认服务器如何发送请求。1.1 在Debian/Ubuntu中安装问题你需要在一个Debian或Ubuntu机器上安装Nginx源码。解决办法创建一个包含...

2019-03-21 16:42:27 396

原创 nginx-Linux包

当前,nginx包对于下列发行版和版本是可用的:RHEL/CentOS:版本支持平台6.xx86_64,i3867.4+x86_64, ppc64leDebian:版本代码名称支持平台8.xjessiex86_64,i3869.xstretchx86_64,i386Ubuntu:版本代码名称支持平台...

2019-01-14 22:50:02 1161

原创 安装nginx

安装nginxnginx可以以不同的方式进行安装,这个依赖于操作系统。在Linux中安装对于Linux来说,来自nginx.org的nginx包可以被使用。在FreeBSD中安装在FreeBSD中,nginx即可以从包管理中安装,也可以从端口系统中安装。端口系统提供了充足的灵活性,允许在一定范围选项中进行选择。端口将会带有指定的选项进行编译并安装。源码编译如果有些特定的功能需要,但是...

2019-01-07 14:53:44 183

原创 nginx

nginx[engine x]是一个HTTP和反向代理服务器,一个邮件代理服务器和一个通用的TCP/UDP代理服务器,起初是有lgor Sysoev编写。有很长一段时间,他已经运行在很多负载很重的俄罗斯网站上,其中包括Yandex, Mail.Ru 和 Rambler。通过Netcraft,nginx在2018年12月服务或代理了25.98%的最忙碌的网站。基本的Http服务器特征服务静态文...

2019-01-07 14:24:55 388

原创 在PyQt5中的菜单栏和工具栏

在这一部分,我们学习创建状态栏,菜单栏和工具栏。一个菜单是位于菜单栏的一组命令。一个工具栏有一些按钮,这些按钮在应用程序中拥有一些常用命令。状态栏显示状态信息,通常位于应用窗口下方。QMainWindowQMainWindow类提供了一个主应用窗口。这允许我们创建一个带有状态栏,工具栏和菜单栏的经典程序框架。Statusbar(状态栏)一个状态栏是用于显示状态信息的一个组件。#!/usr/bin/

2017-12-24 02:59:32 7312

原创 PyQt5的第一个程序

在这一部分,我们学习PyQt5的一些基本功能。下面的例子展示了一个工具栏和一个图标,关闭窗口,显示一个消息窗口和将一个窗口放到桌面的中心。简单的例子这是一个显示一个小窗口的简单的例子。但是对于这个窗口我们可以做很多事情。我们可以重定义大小,最大化或最小化。这个需要很多编码。但是有些人已经将他们编写成了函数。因为这个在大多数应用中是重复的,没有必要一次又一次的编码。PyQt5是一个高层工具。如果我们使

2017-11-21 01:42:31 1933

原创 在Ubuntu上安装rabbitMq server

下载Server 描述 下载 基于debian的linux的安装包(github) rabbitmq-server_3.6.13-1_all.deb 基于debian的linux的安装包(Bintray) rabbitmq-server_3.6.13-1_all.deb标准Ubuntu和Debian仓库rabbitmq-server被包含在标准Debian和Ubuntu仓库中

2017-11-07 23:30:14 4338 1

原创 PyQt5的日期和时间

PyQt5的这部分教程展示了如何使用PyQt5的日期和时间模块。QDate,QTime,QDateTimePyQt5使用QDate,QDateTime,QTime类来操作日期和时间。QDate是一个以标准阳历的形式来操作日期的类。他有一些方法用来决定日期,比较或者是控制日期。QTime类操作时间。他提供了一些方法用来比较时间,决定时间和其他一些控制时间的方法。QDateTime是一个绑定QDate和

2017-11-04 00:22:02 5710

原创 PyQt5介绍

PyQt5的介绍这个是翻译的英文版的PyQt5的中文教程。这篇教程的目的是让你开始使用PyQt5组件。这个教程中的例程都已经在Linux中测试过了。关于PyQt5 PyQt5是一套绑定Qt5的应用程序框架。他在Python 2.x和3.x中都是可用的。该教程使用的是Python3.x。Qt库是一套最有用的GUI库。PyQt5的官方主页www.riverbankcomputing.co.uk/new

2017-09-13 01:42:53 32117

原创 IoT Kaa平台学习(二)

在这片文章中,主要讨论在Kaa架构和逻辑设计下的功能性概念。Kaa IoT平台由Kaa server,Kaa扩展和端点SDKs组成。kaa服务器是平台的后端部分。他被用于去管理租户,应用,用户和设备。Kaa服务器暴露了集成接口并且提供了管理能力。kaa扩展是独立的软件模块,他提升了平台的功能性。端点SDK是为多种多样的Kaa平台特征提供客户端的API并且处理通信,数据编集,持久性等的一个库。K

2017-06-12 15:47:29 9802 1

原创 Kaa IoT平台学习(一)

kaa IoT开发平台概览Kaa是一个用于物联网的多功能的中间件平台,他允许构建完全端到端IoT解决方案,连接的应用和智能产品。Kaa平台为IoT产品开发提供了一个开放的,功能丰富的工具组件,因此有效的降低了相关的费用,风险和面向市场的时间。为了快速开始,kaa提供了一套开箱即用的企业级物联网功能,其能够被简单的插入并实现大量的IoT用户实例。kaa上有很多架构特征使得IoT开发更加快速和简单。首先

2017-06-09 16:56:47 5952

原创 hadoop2.8.0的搭建

hadoop2.8.0环境搭建介绍我们使用最新的hadoop版本2.8.0来进行hadoop环境的搭建。操作系统环境如下: Ubuntu 14.04 CPU Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz 8核 内存 16G我们使用Virtual Box进行虚拟环境的搭建。在这里我们创建了三个虚拟机,一个主机Master,两个从机Slave,在

2017-06-05 23:13:20 5066

原创 升级docker并构建自己的app

现在docker已经升级了很多版本了,而我目前的docker版本仍然是1.12.5,比较老的版本,所以现在我们需要升级我们的docker版本,首先是如何查看我们系统中的docker版本呢?运行命令docker --version即可查看。(一)、Docker新版本介绍及安装目前,Docker分为了两个可用的版本,分别为Docker企业版和Docker社区版,故名思议,Docker EE,即Docke

2017-04-27 23:19:50 1817

原创 uboot启动过程详解

在android启动过程中,首先启动的便是uboot,uboot是负责引导内核装入内存启动或者是引导recovery模式的启动。现在在很多android的uboot的启动过程中,都需要对内核镜像和ramdisk进行验证,来保证android系统的安全性,如果在uboot引导过程中,如果内核镜像或ramdisk刷入的是第三方的未经过签名认证的相关镜像,则系统无法启动,这样便保证了android系统的安

2017-04-15 17:50:05 10464

原创 BlockChain初识

区块链介绍 区块链最早是在比特币项目中,为比特币的运行提供一个分布式的记账平台。而区块链技术发展到现在,对于区块链的定义为,一个区块链是一个分布式的数据库,该数据库维持一个持续增长的数据记录链,并且能够防止数据被篡改。它由数据结构块组成,该结构块在初始的区块链实现中持有专有的数据,并且数据和程序都保存到一些最近的实现里面,每一个区块都保存一些个人交易数据和区块的执行结果。每一个区块都包含一个时间戳和

2017-03-12 16:34:59 2986 2

原创 Dalvik字节码

总体设计机器模型和调用约定是近似模仿常见的真实的架构和C风格调用约定。机器是基于寄存器的,并且框架在被创建的时候是固定大小的。每一框架包含一个特定数量的寄存器(由函数指定)和一些需要执行该函数的附属的数据,例如(但不限制在这些)程序计数器和包含该方法的.dex文件的引用。当用于位值的时候(例如整数和浮点数),寄存器被认为是32位宽度。相邻的寄存器对被用于64位值。对于寄存器对没有对齐要求。当用

2017-03-03 16:33:07 1820

原创 Android的ART和Dalvik

Android 运行时机制,即为ART,是一个管理的运行时机制,被android系统上的应用程序和一些系统服务使用。ART和他的前辈Dalvik初始被创建专门用于Android项目。ART作为运行时可以执行Dalvik可执行格式和Dex字节码的规范。ART和Dalvik在运行Dex字节码上是兼容的,所以为Dalvik开发的apps应该在运行ART的系统上也能够正常运行。然而,一些专门为Dalvik设

2017-02-28 00:56:16 2515

原创 Android 6.0启动过程详细解析

在之前的一篇文章中,从概念上学习了Andoird系统的启动过程,Android系统启动过程学习而在这篇文章中,我们将从代码角度仔细学习Android系统的启动过程,同时,学习Android启动过程中的初始化脚本语言,即init.rc中的语言语法。在这里,不在详细介绍Linux内核的启动过程,主要学习从Linux内核启动之后,init初始化是如何工作的,他是如何启动Android系统的第一个进程–Zy

2017-02-27 19:00:21 3641

原创 Android Init Language(android初始化语言)

Android Init LanguageAndroid初始化语言Android初始化语言包含四个广泛的陈述类,为Actions(行为),Commands(命令), Services(服务)和Options(选项)。所有的这些都是基于行的,包括空格分隔符。C风格的反斜杠可以用来插入空格到一个 命令中。双引号可以被用来阻止空格将文本分割成多个标记。当反斜杠为一行中的最后 一个字符的时候,可以被用

2017-02-21 22:51:41 1748

原创 理解镜像和容器,并运行whalesay镜像

了解镜像和容器Docker引擎提供了使能镜像和容器的核心Docker技术。在安装过程的最后一步,你运行了docker run hello-world命令。你运行的命令包含三个部分.docker run hello-worlddocker:告诉的操作系统你正在运行docker程序run:创建并运行一个Docker容器的子命令hello-world:告诉Docker将哪一个镜像加载到容器中镜像是

2017-01-10 23:04:54 2468 6

原创 Android系统启动过程学习

使用 android 手机已经长时间了,同时,从大学学习 android 开发开始,也进行过多款 android app 项目的开发,但是对 android 内部的启动过程,即当我们从按下电源键开机开始, android 系统内部是如何运行的,由于android 系统的内核使用的是 linux 内核,那么在启动过程中,android 系统和桌面Linux系统的启动过程是否是一样的?我们在之前的一篇

2016-12-21 10:03:43 3254

原创 android开发ndk调用第三方so库

1.0 功能概述1.0.1 概述在android开发中,java调用C/C++函数库是经常遇到的,我们的android开发中使用JNI开发技术,有下面几种情况:已经使用C/C++发了某些函数库,如果再使用java封装相应的函数库的话,可能会话费更多的人力物力,所以这样就可以使用JNI来使java直接调用C/C++封装的函数。某些高复杂性计算以及密集型计算,对时间要求很高的计算,使用java的效率

2016-10-28 16:26:01 16845 10

原创 使用C实现模拟实现一个shell解释器(一)

项目介绍一直在想,linux的命令解释器是如何工作的,一直想着自己实现一个命令解释器。后来随着自己的学习以及对linux中终端的使用,对命令解释器有了一个简单的学习和了解。并且对其实现,从一开始的很简单,到后面有一些忌惮。命令解释器,顾名思义,就是对用户输入的命令,进行分析,然后按照用户的想法运行相应的命令,然后再将运行结果成现在用户眼中。在了解了lex和yacc的相关知识之后,我觉着可以使用lex

2016-08-26 17:19:34 6356

原创 理解Docker架构

Docker是一个用于开发,发布和运行应用程序的开放平台。Docker被设计用于更快的交付你的应用。使用Dokcer,你可以将你的应用从基础设施中分离出来,并且向对待一个管理应用程序一样对待你的基础设施。Docker帮助你更快的发布代码,更快的测试,更快的部署和缩短编写代码和运行代码的周期。Docker通过组合带有工作流和工具的内核容器化特征来实现,这些工具能够帮助你管理和部署你的应用。在她的内核,

2016-07-02 12:08:42 10325

原创 Linux启动过程学习

该学习过程是一个Linux从主引导记录到第一个用户空间程序的指导. 启动一个Linux系统的过程包含一系列步骤.但是无论你是启动一个标准的X86桌面或嵌入式PowerPC,大部分流程是相似的.该文章探索Linux从最初的引导程序到开启第一个用户空间程序的过程.同时,我们也将会学到其他一些启动相关的课题,例如引导装载程序,内核解压缩,最初的RAM和其他Linux启动的元素.早期,引导启动一个计算机意

2016-04-27 17:06:08 9217

原创 Docker的安装,配置,更新和卸载

在Linux中开启Docker引擎我们可以在Linux中安装Docker并运行Hello world应用程序。通过下面这些操作,我们将会学到更多有关于Docker的基础特征。我们将会学到如何:安装Docker引擎在一个容器中运行软件镜像在Docker Hub中浏览一个镜像创建你的镜像,并且在容器中运行它创建一个Docker Hub账户和一个镜像库创建你自己的镜像将你的镜像放到Docke

2016-04-23 15:55:09 32463 4

原创 什么是Docker?

什么是Docker?Docker允许我们打包我们的应用以及其所有的依赖包到一个标准化单元中用于软件开发。Docker容器将一块应用打包到一个完成的文件系统中,在该文件系统中包含了该应用要运行的所有要求:代码,运行时,系统工具,系统库 - 任何你安装在服务器上的东西。这就能保证他将会以同样的方式运行,无论它运行在什么样的环境中。Docker的特点轻量 运行在单一机器上的容器共享相同的操作系统内核

2016-04-22 00:53:33 12921 4

原创 CM android的CMUpdater分析(二)

至于为何要在这里讲解android系统源码中的系统更新,我已经在上一篇《 CM android的CMUpdater分析(一)》中介绍了。在上一篇中,主要讲解了在eclipse中如何搭建系统应用的开发环境,现在我们就使用eclipse来分析CMUpdater源码。该系统更新是CM修改原生android的基础上实现的。通过分析android系统的应用源码,可以学到一些很好的思想和编程方法学。好了,废话少

2016-04-15 10:17:21 4664 1

framebuffer绘图

该资源实现了对framebuffer进行编程在命令行界面上进行编程的实例.

2015-10-26

selinux by example

这本书通过实例讲解了selinux中的一些特性,讲解比较透彻易懂

2015-08-17

安卓市场框架搭建--3

这是进一步完成框架搭建所完成的代码,添加了首页,分类,主体,推荐等activity

2015-07-23

seandroid论文(注释版)

该文档是我的学习SEAndroid的时候加上注释之后的论文。

2015-07-17

androidMarket01

这个是和我的博客中《一步一步完成安卓市场》同步的,这个是第一个版本,小型框架的搭建。

2015-07-17

android教程

该书籍能够使读者更快的入门android开发!

2013-06-29

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除