- 博客(32)
- 收藏
- 关注
原创 结合场景,浅谈深浅度拷贝
有两段代码是这样的:显而易见,这两段代码的区别在于Bear对象的创建的位置不同,第一段代码里面,先创建了一个Bear对象B,然后在循环中不断更新B的属性,并将同一个B对象多次添加到list1中。由于list1中存储的是对象的引用,因此最终list1中存储的是多个指向同一个Bear对象的引用。而第二段代码中,我们在每次循环中都创建了一个新的Bear对象B,并将其添加到list1中。因此,list1中存储的是多个不同的Bear对象的引用。
2024-05-10 15:40:06 539 2
原创 所以,到底什么是微服务?
1、微服务是一种软件架构,是聚焦在单一的职责和业务功能,具有独立的进程,能够单独运行的服务,并且与外部服务是通过HTTP进行交互通信的服务。2、微服务比较常见的特性是,具有单一职责,具有松耦合,具有高内聚等特点;3、所理解的微服务特性,对比起单体应用来说,具有以下特点:(1)屏蔽技术限制:如何理解技术限制,就是假设你用的微服务是采用了java语言,如果需要验证新的语言特性,比方采用go语言,那单体应用是没法去单独验证的,只有不同的微服务才能对某个微服务进行语言的替换和验证;(2)
2022-02-22 12:05:48 2475
原创 微信小程序-轮播图实现
好久不见,今天小h来分享一下如何实现一个微信小程序的轮播图实现方式:前提条件是具有微信开发者工具,还有对应的开发者ID,这些基础条件我这边就直接跳过了哈,直接进入正题:1、首先需要创建对应的Swiper:如图所示, 需要创建对应的swiper,并且设置相关属性,具体包括如下:一般我们使用这几个属性比较多,可以直接在xml中设置,也可以设置为取值方式,从js文件中读取。2、在js文件中初始化对应的image数组,还有其他相应的变量值:3、设置对应的xss属性:这里我这.
2021-08-29 13:30:08 10996 3
原创 接口防重方案设计
幂等性原理:前台的多次请求,对于后台,也是同一次请求;通常接口设计方式:1、前端的页面提交按钮置灰,防止用户重复点击;2、对前端提交的token进行校验,防止表单的重复提交;3、接口的防重可以使用接口表的组合唯一键进行防重,如果有重复数据,则插入失败;4、增加请求的日志历史表,每次新的请求进来,都查看下历史表,防止重复数据访问;1、...
2021-08-29 13:17:49 1019
原创 Redis基础知识相关-持久化方式
1、本身是key-Value类型的数据库,数据本身可以持久化,支撑的数据类型包括:字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(ZSet)2、有两种持久化方式:RDB(定时持久化)、AOF(追加方式持久化)RDB:调用fork(),创建一个子进程,把数据写到临时的RDB文件中,写完后将原先旧的RDB文件进行替换;优势:RDB的优势在于Redis中只存在一个文件,由于是单文件,既适合远程传输,也适合灾备的数据恢复;且性能好,由于是另外fork一个..
2021-05-26 16:29:22 101
原创 MySQL的存储引擎介绍
大家知道,我们MySql的存储引擎分为以下几种:InnoDB,MyISAM,ARCHIVE,BLACKHOLE,PERFORMANCE_SCHEMA,FEDERATED,CSV,MRG_MYISAM,MEMORYSupport 列的值表示某种引擎是否能使用,YES表示可以使用,NO表示不能使用,DEFAULT表示该引擎为当前默认的存储引擎。在Mysql-5.5的版本之前,默认的存储引擎是MyISAM,在之后的版本都是默认的存储引擎是InnoDB对应常用的这两种存储引...
2020-09-05 23:18:37 138
转载 Java的三种常见的代理模式
代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法.举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,...
2018-06-20 19:13:17 983
转载 怎样快速开发一个 Dubbo 应用?
背景本文将以 Dubbo 为例,介绍如何快速开发一个 Dubbo 应用。为了便于读者理解:首先会介绍一下传统的 RMI 的基本概念然后比较下现代的 RPC 框架与 RMI 的区别再基于 Dubbo 提供的 API 展示最基本的 Dubbo 应用如何开发最后介绍如何通过 start.dubbo.io 快速搭建 Dubbo 的脚手架工程Java RMI 简介Java RMI (Remote Metho...
2018-06-19 09:36:55 1082 1
转载 分布式为什么一定要有Redis?
1、为什么使用redis分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。回答:如下所示,分为两点(一)性能如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的SQ...
2018-06-15 10:39:28 412
原创 java集合篇(一)——ArrayList扩容原理
相信大家都对ArrayList相当熟悉了,今天笔者就对ArrayList的源码进行解读,讲解一下对ArrayList扩容的基本原理。虽然大家都有用过,但还是简单介绍一下吧,ArrayList实现了List的接口,并且实现了序列化,同样具有collection的方法,add,remove等,时间复杂度都是O(1),对于n个数据则为O(n)。好了,接下来具体看下ArrayList的源码(笔者使...
2018-02-27 11:08:33 3279
原创 java涨姿势--反射知识篇
hello,笔者现在要开篇涨姿势系列了,大家跟着我一起来Java涨姿势吧哈哈话不多说,我们进入正题,今天要讲的是反射,相信大家都已经听过,或者了解过一些,今天跟着笔者再回顾一遍:什么是反射呢?在Google是这样说的:也就是说,反射其实是可以反映,程序在运行状态的结构以及行为的。那么为什么要用反射呢?笔者觉得这段解释的很好,无论你是写框架还是在写复杂的面相对
2017-12-03 10:01:19 349
原创 关于AndroidImageSlider的使用
这次介绍一下我们android的常用图片滑动的第三方库,AndroidImageSlider的使用,功能很丰富的库,封装了各种动画,我们简单调用即可,那么,如何上手,其实官网已经有了详细的介绍,我只是拿过来做一个小demo,分享下使用心得:首先在我们的gradle中去添加依赖:dependencies { compile "com.android.support:support-v
2017-07-29 19:09:17 1468
原创 "我"与AI
有人说过,在这世界上,一共有10种人,一种是懂二进制的,一种是不懂的。其实,在不远的未来,这个世界多了两种机器,懂AI的,以及不懂的。在如今的互联网时代,技术潮流愈来愈来汹涌,前方移动互联网未歇,AI风已起,所谓有需必有求,正因为是市场的需求,信息化时代,必然会进化为大数据时代。 自从移动互联网以及国家的互联网+战略实施以来,以往的依靠强大的机构,组织才能获取收益的传统上班模式,必然会被未来
2017-07-25 23:51:58 2516 1
原创 http请求之HttpURLConnection
在android有很多网络请求,其中最为普遍的就是http请求,这里我们先简单说一下其中的HttpURLConnection,这个类是url连接类的子类,也是我们最常使用来做网络连接的类: 官网详细的介绍了用法: 需要通过url去获取连接,并且通过流读取的方法使用,在这里笔者小h也做了个小demo: 首先需要在你的androidManifest.xml中加入这个权限
2017-06-28 23:44:07 534
原创 快速排序算法与插入排序算法的结合
在这一篇中笔者要讲的是插入排序算法与快速排序算法的结合,为什么要这样结合使用?因为插入排序对基本排好序的数组来做排序的速度很快,而快速排序能将无序数组快速的变化为基本有序,那大家可能就问,就使用快排就行了嘛,的确,使用快排也是很快速的,但是在接近排序完成的时刻,换成插入排序算法更加能提高排序速度,笔者写两个程序比较下就知道了。首先第一个程序是单纯的使用快排:public class MyA
2015-09-02 17:22:25 2486
原创 希尔排序算法
这篇是介绍一下希尔排序,希尔排序的原理就是在插入排序的基础上进行修改,相比起插入排序的元素移动次数,希尔排序移动次数大大的减少。希尔排序的原理是将一定间隔的元素进行比较,再进行交换,此举的好处在于若两个元素的距离相差比较远,那可以不用移动许多的元素再进行交换,而是直接进行交换,这就省去了许多的时间开销,由原来插入排序的O(N^2)降到现在的O(N*(logN)^2),时间复杂度大大的减少,虽然
2015-09-01 21:57:54 812
原创 使用栈模拟递归的算法
这一篇笔者要讲的是如何用栈来模拟递归,或者说替代递归的算法,现在我们假如要算从三角形数的叠加,比如输入10 ,输出是55,输入是100 ,输出是5050,等等。首先,我们建一个栈:public class StackX { private int maxsize; private Params[] stackActivity; private int top; public S
2015-08-27 22:34:23 3730
原创 使用递归实现全排列的算法
在这一篇中,我们来讲如何用递归来实现字符的全排列算法,当然同样适用于其他的数据类型,不多说了,直接上代码: private static void doAnagram(int size2) { //进行递归调用,不断的调用自己,将n-1个元素进行转换,并且进行n次的循环。此处需要重点理解 if (size2 == 1) { return; } for (int i
2015-08-26 21:11:48 1480
原创 使用迭代器(Iterator)来实现链表的相关操作
在这一篇里,要讲的是如何使用迭代器对链表进行相关的操作,比如删除,获取,插入等操作,那首先介绍一下什么是迭代器,java里面的迭代器的实用性很大,在我们实际对链表进行删除操作时,如果是要对某个限制条件下的所有链表数据都删除,如果是用普通的指针,那就必须每次都对链表进行遍历查找,符合了条件进行删除,而效率很低,而不像数组,有固定的下标位,所以我们设法给予一个类似数组下标的东西来表明链表的位置。这
2015-08-25 16:43:25 2640
原创 用栈来实现后缀表达式
在这里开始讲述关于java的数据结构,争取每日一更,或者两日一更,将所有java的数据结构相关的结构类型,在这里讲解,好了,现在我们开始来讲第一个结构类型,栈,在这里,我要用栈来实现关于算式的计算,在这里使用了后缀表达式。(声明大部分知识来自《java数据结构和算法》,笔者在这里写下读后总结以及自己的补充。)什么是后缀表达式?这个大家学过c语言的都应该知道了,我要用java来实现,同样的,思路
2015-08-22 16:22:09 1101
原创 关于云服务Bmob的使用方法(下)——上传文件
上一篇我们说了如何传输数据,那么这一篇我们进阶一下,来谈谈如何传输文件,比如图片。 关于如何在bmob上注册和申请,上一篇已经有说明,不懂的读者可以去看看,然后我们直接进入到项目中,首先我们还是老规矩,初始化bmob:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav
2015-08-14 16:41:07 15842 9
原创 关于云服务Bmob的使用方法(上)——上传数据
关于第三方云服务平台Bmob是怎样使用的?我们从两个方面来写,一个是传输数据,一个是传输文件。 第一个是关于bmob传输数据的,首先我们在官网http://www.bmob.cn/上面注册我们自己的账号,在这里笔者已经注册好了,并且申请了属于自己的一个应用。 然而重点其实是这个: 我们的目的是拿到这个平台分配给我们的appid 有了
2015-08-14 16:06:26 8963 6
原创 关于startActivityForResult()方法的使用
今天在这里讲一下关于startActivityForReult()方法的使用,关于启动activity,相信大家已经很熟悉了,但是我们实际中不止说启动一个活动那么简单,可能要从启动的活动中去获得我们所要的信息,在这里我们就要用到startActivityForResult()的方法了,能够直接从你所想要的活动中获得结果并且返回到你现在的活动中。
2015-04-30 18:51:11 638
原创 listview的相关使用方法和适配器的加载(二)
在上一篇中,我们已经对listview的初步使用以及对适配器有一定的了解,接下来,我们更近一步,去给listview加载更加多的东西,比如可以一个照片(imageview)再加一个字符串(String)接这上一篇的工程,笔者就不重新去创建一个了,这次使用的是android给的适配器,simpleadapter,虽然是simple,但是其功能一点都不简单。老规矩,我们对simpleadapt
2015-04-14 00:57:11 869
原创 listview的相关使用方法以及适配器的加载(一)
在很多的程序中,很多少不了listview这个控件的身影,而这里我就来给初学者们普及下关于listview的基本用法以及其适配器的使用。首先,先创建一个application项目,这个相信大家已经知道怎么做了,然后在主界面的xml中去添加listview控件,比如这样:<RelativeLayout xmlns:android="http://schemas.android.com/apk/r
2015-04-13 23:46:59 621
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人