自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java知音

专注于Java技术文章推送,欢迎关注

  • 博客(2132)
  • 资源 (14)
  • 问答 (3)
  • 收藏
  • 关注

转载 Java:你还在用 lsit.contain 做去重? 你是故意的还是不小心的?

前言最近又是一轮代码review , 发现了一些实现去重的代码,在使用 lsit.contain ......如:我沉思,是不是其实很多初学者也存在这种去重使用问题?所以我选择把这个事情整出来,分享一下。正文首先是造出一个 List<String> 模拟数据,一共2W条,里面有一半数据1W条是重复的:publicstaticList<String>getTestLis...

2023-06-07 10:05:55 7

转载 Redis主从、哨兵、 Cluster集群一锅端!

前言 今天跟小伙伴们一起学习Redis的主从、哨兵、Redis Cluster集群。Redis主从Redis哨兵Redis Cluster集群1. Redis 主从 面试官经常会问到Redis的高可用。Redis高可用回答包括两个层面,一个就是数据不能丢失,或者说尽量减少丢失;另外一个就是保证Redis服务不中断。对于尽量减少数据丢失,可以通过AOF和RDB保证。对于保证服务不中断的话,Redis...

2023-06-04 11:30:24 30

转载 十分钟开发一款应用,这15个国产低代码开发平台太秀了!

“低代码开发”最早可追溯到20世纪90年代至21世纪初的编程语言和工具(百度百科)。阿里云智能总裁张建锋在钉钉6.0发布会上也表示,“低代码开发”,将成为新一代的软件开发方式。一、什么是“低代码开发平台”“低代码开发平台”,英文全称“Low-Code Development Platform”,简称LCDP,是通过少量代码或零代码就可以快速生成新应用的开发平台。其实就是让不懂写代码的用户,或者技术...

2023-06-04 11:30:24 48

转载 SpringBoot 监控神器——Actuator 保姆级教程

SpringBoot自带监控功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息等配置Actuatorpom.xml<!--webstart--><dependency><groupId>org.springframework.boot</groupId>&l...

2023-06-03 16:35:36 17

转载 Excel百万级数据导入导出,EasyExcel 才是 yyds

在项目开发中往往需要使用到数据的导入和导出,导入就是从Excel中导入到DB中,而导出就是从DB中查询数据然后使用POI写到Excel上。大数据的导入和导出,相信大家在日常的开发、面试中都会遇到。很多问题只要这一次解决了,总给复盘记录,后期遇到同样的问题就好解决了。好啦,废话不多说开始正文!1.传统POI的的版本优缺点比较其实想到数据的导入导出,理所当然的会想到apache的poi技术,以及Exc...

2023-06-03 16:35:36 57

转载 五个步骤,助你优雅的写好 Controller 层代码!

Controller 层逻辑MVC架构下,我们的web工程结构会分为三层,自下而上是dao层,service层和controller层。controller层为控制层,主要处理外部请求,调用service层。一般情况下,controller层不应该包含业务逻辑,controller的功能应该有以下五点:⑴、接收请求并解析参数⑵、业务逻辑执行成功做出响应⑶、异常处理⑷、转换业务对象⑸、调用 Serv...

2023-06-02 10:06:02 18

转载 SpringBoot项目怎么设计业务操作日志功能?

前言很久以前都想写这篇文章,一直没有空,但直到现在我对当时的情景还有印象,之所以有印象是因为需求很简单,业务操作日志的记录与查询的功能,但是具体实现真的很烂,具体的烂法会在反面示例里细说,领导以及客户层面很认可,一系列迷之操作,让我印象深刻。需求描述与分析客户侧提出需求很简单:要对几个关键的业务功能进行操作日志记录,即什么人在什么时间操作了哪个功能,操作前的数据报文是什么、操作后的数据报文是什么,...

2023-06-02 10:06:02 70

转载 用好 DDD 必须先过 Spring Data 这关!

1. 面向对象设计是 DDD 的核心DDD 着重于将业务领域中的概念和对象映射到对象中,使对象模型能够更好地反映业务的真实情况,从而使设计更具可理解性和可维护性。DDD 是一种领域驱动的设计方法,旨在通过建立对领域模型的清晰理解来解决业务问题。和事务脚本不同,DDD 使用面向对象设计来应对复杂的业务场景。简单来说,DDD 是由领域对象承载业务逻辑,所有的业务操作均在模型对象上完成,同一对象上不同的...

2023-06-01 10:05:47 13

转载 MySQL高级进阶:索引优化

一. 索引介绍1.1 什么是Mysql索引MySQL官方对于索引的定义:索引是帮助MySQL高效获取数据的数据结构。MySQL在存储数据之外,数据库系统中还维护着满足特定查找算法的数据结构,这些数据结构以某种引用(指向)表中的数据,这样我们就可以通过数据结构上实现的高级查找算法来快速找到我们想要的数据。而这种数据结构就是索引。简单理解为“排好序的可以快速查找数据的数据结构”。1.2 索引数据结构下...

2023-06-01 10:05:47 13

转载 使用Jsoup对Web网页知识进行爬取并转换成Excel(Java版)

背景随着后疫情时代的到来,在过去的2022年,全国的经济情况,想必是很多学者和研究对象都非常关心的事。而这些数据在国家统计局网站上都有相应的记录。通过分析这些数据,可以从某一个角度来验证和观察当下的经济情况。全国共计有1279个县级单位已经披露了2022年GDP和一般公共预算收入数据情况,企业预警通根据这些数据整理出中国百强县gdp排行榜和百强县一般公共预算收入排行榜。其中昆山市以5006.66亿...

2023-05-31 10:05:07 22

转载 别再乱用了,BeanUtils.copyProperties 使用中的这些坑你一定要知道!

前言我们日常开发中,经常涉及到DO、DTO、VO对象属性拷贝赋值,很容易想到org.springframework.beans.BeanUtils的copyProperties。它会自动通过反射机制获取源对象和目标对象的属性,并将对应的属性值进行复制。可以减少手动编写属性复制代码的工作量,提高代码的可读性和维护性。但是你知道嘛?使用BeanUtils的copyProperties,会有好几个坑...

2023-05-31 10:05:07 24

转载 Java8特性之Optional:如何干掉空指针?

Optional的作用是什么?他都有哪些方法?阿里规范点名说尽量用Optional来避免空指针,那么什么场景用Optional?本篇文章围绕这三点来进行讲解。目录一、Optional类的来源二、Optional类是什么?三、Optional类用法四、代码示例1、创建Optional类2、判断Optional容器中是否包含对象3、获取Optional容器的对象4、过滤5、映射五、什么场景用Optio...

2023-05-30 10:05:21 33

转载 Nginx 轻松搞定跨域问题

当你遇到跨域问题,不要立刻就选择复制去尝试。请详细看完这篇文章再处理 。我相信它能帮到你。分析前准备:前端网站地址:http://localhost:8080服务端网址:http://localhost:59200首先保证服务端是没有处理跨域的,其次,先用postman测试服务端接口是正常的当网站8080去访问服务端接口时,就产生了跨域问题,那么如何解决?接下来我把跨域遇到的各种情况都列举出来并通...

2023-05-30 10:05:21 36

转载 为什么不用 Go 开发操作系统?

本文整理自 GoLand 官方博客的一篇文章:《OS in Go? Why Not?》,探讨了为什么像 C 这样的编程语言在 OS 开发中占据优势,以及是否可以使用 Go 编写 OS。此外还提到了用 Go 开发操作系统的可行性、局限性,以及目前的部分成果。操作系统 (OS) 是计算机系统的心脏和灵魂,它管理着计算机的硬件和软件资源,并为用户提供与计算机交互的方式。传统上,C 和 Assembly ...

2023-05-29 10:06:00 19

转载 你见过哪些目瞪口呆的 Java 代码技巧?

作者:java小瓜哥来源:juejin.cn/post/6844903954308939784导语自从毕业后,今年已经是我工作的第 8 个年头了,我甚至都快忘记了到底是那年毕业的。从出来本人一直在做 Java 相关的工作,现在终于有时间坐下来,写一篇关于 Java 写法的一篇文章,来探讨一下如果你真的是一个 Java 程序员,那你真的会写 Java 吗?笔者是一个务实的程序员,故本文绝非扯淡文章,...

2023-05-29 10:06:00 90

转载 分库分表的 21 条法则,hold 住!

还是不着急实战,咱们先介绍下在分库分表架构实施过程中,会接触到的一些通用概念,了解这些概念能够帮助理解市面上其他的分库分表工具,尽管它们的实现方法可能存在差异,但整体思路基本一致。因此,在开始实际操作之前,我们有必要先掌握这些通用概念,以便更好地理解和应用分库分表技术。我们结合具体业务场景,以t_order表为例进行架构优化。由于数据量已经达到亿级别,查询性能严重下降,因此我们采用了分库分表技术来...

2023-05-28 16:35:16 22

转载 开源一个网页版的 Xshell,支持 FTP 和 SFTP 两种方式!

介绍该平台类似于网页版的Xshell,基于cookie和json的方式存储登录信息无数据库更方便兼容每个用户的使用,支持SFTP和FTP两种登录方式,打破原有黑端显示命令行和文件名的方式,以div的方式展示文件图,支持命令输入,报错输出。目前代码已开源,代码规范支持开闭原则,你可以添加新的连接方式如 SSH LOCAL 等 目前代码中有ssh代码连接示例,你可以在它原有的基础上做改善1.首页2.点...

2023-05-28 16:35:16 18

转载 2023最新互联网公司工作时长排行榜出炉,第一名居然是它.....

今天给大家分享一个对于选择公司来说另一个非常重要的参考指标:“互联网时长”。正文图片我们在选择一个公司的时候,除了需要关注总收入package以外,还需要考虑这家公司的加班时长是否人性化。大概一年前的这个时候,职级对标就在提交薪酬表单中增加了提交工作时长功能。因为在讨论薪酬的时候,工作时长是一个决定性的指标。我们的工作时长是周工作小时数。法定工作时间是40小时(965)。大小周通常折算为周工作6...

2023-05-27 16:35:43 23

转载 聊聊分页列表缓存

开源中国的红薯哥写了很多关于缓存的文章,其中多级缓存思路,分页列表缓存这些知识点给了我很大的启发性。写这篇文章,我们聊聊分页列表缓存,希望能帮助大家提升缓存技术认知。1 直接缓存分页列表结果这是最简单易懂的方案,我们按照不同的分页条件查询出结果后,直接缓存分页结果 。伪代码如下:publicList<Product>getPageList(Stringparam,intpage...

2023-05-27 16:35:43 27

转载 一个非常牛逼的开源中后台模版项目

简介Soybean Admin 是一个基于 Vue3、Vite3、TypeScript、NaiveUI、Pinia 和 UnoCSS 的清新优雅的中后台模版,它使用了最新流行的前端技术栈,内置丰富的主题配置,有着极高的代码规范,基于文件的路由系统以及基于 Mock 的动态权限路由,开箱即用的中后台前端解决方案,也可用于学习参考。特性最新流行技术栈: 使用 Vue3/Vite 等前端前沿技术开发, ...

2023-05-26 10:05:30 23

转载 SpringCloud Alibaba 之 Nacos 集群部署+高可用保证

官方推荐用户把所有服务列表放到一个vip下面,然后挂到一个域名下面。http://nacos.com:port/openAPI 域名 + SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),可读性好,而且换ip方便,推荐模式:Nacos 集群架构的设计要点:微服务并不是直接通过 IP 地址访问后端服务,而是采用域名访问。通过 DNS(域名解析服务)转换为具体的 IP 地址,通过域名方式屏蔽...

2023-05-25 10:05:54 20

转载 基于 SpringBoot 实现多租户架构:支持应用多租户部署和管理

一、概述1 什么是多租户架构?多租户架构是指在一个应用中支持多个租户(Tenant)同时访问,每个租户拥有独立的资源和数据,并且彼此之间完全隔离。通俗来说,多租户就是把一个应用按照客户的需求“分割”成多个独立的实例,每个实例互不干扰。2 多租户架构的优势更好地满足不同租户的个性化需求。可以降低运维成本,减少硬件、网络等基础设施的投入。节约开发成本,通过复用代码,快速上线新的租户实例。增强了系统的可...

2023-05-24 10:05:06 25

转载 SpringBoot + Docker 实现一次构建到处运行

一、容器化部署的好处Docker 作为一种新兴的虚拟化方式,它可以更高效的利用系统资源,不需要进行硬件虚拟以及运行完整操作系统等额外开销。传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。最重要的是一致的运行环境。Docker 的镜像提供了除内核外完整的运...

2023-05-23 10:20:25 45

转载 12 张图 | 硬刚了一波,三层缓存架构

一、前言上一讲我们讲到了 Eureka 注册中心的 Server 端有三级缓存来保存注册信息,可以利用缓存的快速读取来提高系统性能。我们再来细看下:一级缓存:只读缓存 readOnlyCacheMap,数据结构 ConcurrentHashMap。相当于数据库。二级缓存:读写缓存 readOnlyCacheMap,Guava Cache。相当于 Redis 主从架构中主节点,既可以进行读也可以进行...

2023-05-22 10:05:46 44

转载 绝了,60K*16薪!看看人家的技术水平

现在很多公司的招聘信息,都会有这这么一条要求:有分布式、高并发、高可用系统设计\开发和性能调优经验者优先。说到性能调优,大部分程序员都是知道这玩意但日常也做不上,也看过相关知识,但就是没有怎么实践过,或者转头就忘了...但是在面试中,面试官经常会问有没有做过性能调优相关的工作?倒不是为了让你回答有没有做过,而是通过应聘者对缓存相关知识的理解深入程度,来判断其开发经验和学习能力。所以需要积累一定的高...

2023-05-22 10:05:46 52

转载 公司新来了一个同事,把权限系统设计的炉火纯青!

思维导图如下RBAC权限分析RBAC 全称为基于角色的权限控制,本段将会从什么是RBAC,模型分类,什么是权限,用户组的使用,实例分析等几个方面阐述RBAC思维导图绘制思维导图如下什么是RBACRBAC 全称为用户角色权限控制,通过角色关联用户,角色关联权限,这种方式,间阶的赋予用户的权限,如下图所示对于通常的系统而言,存在多个用户具有相同的权限,在分配的时候,要为指定的用户分配相关的权限,修改的...

2023-05-20 16:30:46 45

转载 SpringBoot + 规则引擎 URule,真的很强!

没有规则,不成方圆;一、背景前段时间,在做项目重构的时候,遇到很多地方需要做很多的条件判断。当然可以用很多的if-else判断去解决,但是当时也不清楚怎么回事,就想玩点别的。于是乎,就去调研了规则引擎。当然,市面上有很多成熟的规则引擎,功能很多,性能很好。但是,就是想玩点不一样的(大家做技术选型别这样,这个是反面教材)。最终一款URule的规则引擎吸引了我,主要还是采用浏览器可直接配置,不需要过多...

2023-05-20 16:30:46 72

转载 不愧是腾讯,问的贼细

最近有位小伙伴被腾讯的面试题问懵了,大家来看看是怎么考察的,主要是后端的。Java集合主要是hashmap实现原理。多线程问AQS源码、并发工具类源码、锁的实现原理、阻塞队列源码、线程池实现原理。Jvm问内存结构和垃圾回收机制加Jvm优化参数配置。Springi问ioc和aop原理,bean的生命周期。Redis问数据类型、线程模型、持久化机制、主从复制原理、高可用原理、redis cluster...

2023-05-19 14:06:53 74

转载 为什么 Nginx 比 Apache 更牛叉?

一、Apache三种工作模式1、prefork的工作原理2、worker的工作原理3、event 基于事件机制的特性二、如何提高Web服务器的并发连接处理能力三、Nginx优异之处四、Nginx 工作原理五、Nginx 的诞生主要解决C10K问题1、select模型:(apache使用,由于受模块等限制,用的不多);2、poll:poll是unix沿用select自己重新实现了一遍,唯一解决的问题...

2023-05-19 14:06:53 205 1

转载 6000 字 | 16 图 | 深入理解 Spring Cloud Gateway 的原理

本篇给大家带来的是微服务框架中非常重要的一个组件:API 网关前言在 PassJava 项目中,我用到了 Spring Cloud Gateway 作为 API 网关,客户端的所有的请求都是先经过网关,然后再转发到会员微服务、题目微服务等。比如 API 网关和会员微服务对应的访问地址如下:API 网关地址:http://localhost:8060会员微服务地址:http://localhost:...

2023-05-18 10:05:33 46

转载 k8s 企业级管理神器:Rancher 你值得拥有!

一、Rancher 简介Rancher 是为使用容器的公司打造的容器管理平台,通过 Rancher,企业不再需要使用一系列开源软件从零开始构建一个容器服务平台。同时 Rancher 还提供了一个全栈容器部署和管理平台,用于管理 Docker 和 Kubernetes。1.Rancher API Server 的功能Rancher API Server 是基于嵌入式 Kubernetes API S...

2023-05-18 10:05:33 50

转载 从简历、技巧到面试题精讲,带你搞定Java面试

最近收到小伙伴的反馈:事实也确实是这样,如今不像从前,会个CRUD就可以随随便便找个10几k的工作,现在面试中级的话都从底层问到框架,从jvm,juc底层问到消息队列高并发了,还问SQL的调优。至于高级都是对于消息队列、缓存、分布式等各种主流技术还需要知道原理!其实这些技术在真正的实际开发环境中真的用得到吗?不一定的,但是没办法,环境就是如此,能做的也就只有不断提升自己,去适应市场环境,提高自身技...

2023-05-17 10:06:01 45

转载 Spring中@NotEmpty、@NotBlank、@NotNull 区别和使用

1:引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.0.5.RELEASE</version>&...

2023-05-17 10:06:01 47

转载 分类树菜单,我从2s优化到0.1s

分类树查询功能,在各个业务系统中可以说随处可见,特别是在电商系统中。但就是这样一个简单的分类树查询功能,我们却优化了5次。到底是怎么回事呢?背景我们的网站使用了SpringBoot推荐的模板引擎:Thymeleaf,进行动态渲染。它是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。它提供了一个用于整合SpringMVC的可选模块,在应用开发中,我们可以使用Thy...

2023-05-16 10:05:52 35

转载 别乱分层,PO、VO、DAO、BO、DTO、POJO 到底应该用在哪里,你知道吗?

前言一个项目中不一定都能用得上全部的分层规约,但十分有必要了解每一种的用法,便于去阅读其他人的代码。同样的,虽然遵守规约写代码可能会略微拉低你写代码的速度(PS:多写一些实体类),但越是规范化,模板化的东西,后期的维护成本和学习成本会越低。《阿里巴巴Java开发规范》关于领域模型的部分介绍如下分层领域模型规约:DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数...

2023-05-16 10:05:52 78

转载 SpringBoot 处理 CORS 跨域请求的三种方法

1 前言Springboot跨域问题,是当前主流web开发人员都绕不开的难题。但我们首先要明确以下几点跨域只存在于浏览器端,不存在于安卓/ios/Node.js/python/ java等其它环境跨域请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。之所以会跨域,是因为受到了同源策略的限制,同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。浏览器出于安全的考虑...

2023-05-15 10:05:26 36

转载 Guava中这些 Map 的骚操作,让我的代码量减少了50%

Guava是google公司开发的一款Java类库扩展工具包,内含了丰富的API,涵盖了集合、缓存、并发、I/O等多个方面。使用这些API一方面可以简化我们代码,使代码更为优雅,另一方面它补充了很多jdk中没有的功能,能让我们开发中更为高效。今天Hydra要给大家分享的就是Guava中封装的一些关于Map的骚操作,在使用了这些功能后,不得不说一句真香。先引入依赖坐标,然后开始我们的正式体验吧~&l...

2023-05-15 10:05:26 39

转载 高效方案:30万条数据插入 MySQL 仅需13秒

本文主要讲述通过MyBatis、JDBC等做大数据量数据插入的案例和结果。30万条数据插入插入数据库验证实体类、mapper和配置文件定义User实体mapper接口mapper.xml文件jdbc.propertiessqlMapConfig.xml不分批次直接梭哈循环逐条插入MyBatis实现插入30万条数据JDBC实现插入30万条数据总结验证的数据库表结构如下:CREATETABLE`t...

2023-05-14 16:30:12 110

转载 本地缓存之王,Caffeine保姆级教程

一、Caffeine介绍1、缓存介绍缓存(Cache)在代码世界中无处不在。从底层的CPU多级缓存,到客户端的页面缓存,处处都存在着缓存的身影。缓存从本质上来说,是一种空间换时间的手段,通过对数据进行一定的空间安排,使得下次进行数据访问时起到加速的效果。就Java而言,其常用的缓存解决方案有很多,例如数据库缓存框架EhCache,分布式缓存Memcached等,这些缓存方案实际上都是为了提升吞吐效...

2023-05-14 16:30:12 63

转载 从3s到25ms!看看京东的接口优化技巧,确实很优雅!!

大家好,最近看到京东云的一位大佬分享的接口优化方案,感觉挺不错的,拿来即用。建议收藏一波或者整理到自己的笔记本中,随时查阅!一、背景针对老项目,去年做了许多降本增效的事情,其中发现最多的就是接口耗时过长的问题,就集中搞了一次接口性能优化。本文将给小伙伴们分享一下接口优化的通用方案。二、接口优化方案总结1.批处理批量思想:批量操作数据库,这个很好理解,我们在循环插入场景的接口中,可以在批处理执行完成...

2023-05-13 16:45:24 36

icepdf包文件

Java实现PDF转换为图片,图片的裁剪,图片的拼接,图片再转回PDF功能实现所需要的jar,包括五个:icepdf的四个和itext的一个。

2017-09-20

操作PDF的jar包

使用iText操作PDF,你可能需要的几个包!

2017-08-09

springMVC三种数据转换的Demo

springMVC三种数据转换方法的Demo

2017-07-19

CRM客户关系管理系统

jsp+servlet+Oracle写的客户关系管理系统,练习项目,有的地方可能有缺陷。对实际开发作用不大,对于练手,课程设计之类的绰绰有余。不缺积分,设置4分主要防止伸手党,没积分的私信发百度云链接

2017-06-26

json开发包

spring等Javaweb开发中,使用json传值必备包

2017-05-25

H5实现多图片预览上传,可点击可拖拽

H5实现多图片预览上传,可点击可拖拽,样式漂亮,接口简单

2017-04-20

simditor富文本编辑器控件

simditor富文本编辑器控件,轻巧强悍,可嵌入网站中直接使用

2017-04-13

ServletContextListener完成在线人数统计和显示人员列表

ServletContextListener完成在线人数统计和显示人员列表

2017-04-12

smartupload.jar

smartupload.jar 文件上传必备包

2017-04-08

jQuery最全版本类库资源(含各个版本)

jquery类库资源,包含目前各个版本,一次下载,需要哪个就可以用哪个,不必四处找。

2016-12-15

Java连接MySQL的驱动包mysql-connector-java-5.1.34-bin.jar

Java连接MySQL的驱动包mysql-connector-java-5.1.34-bin.jar,在Javaweb项目中一般放置在WebRoot/WEB-INF/lib/目录下,Java连接MySQL必不可少。

2016-12-11

博客管理系统

使用jsp+servlet+MySQL开发的具有基本功能的博客开发系统,适合新手学习,继续完善的一个项目,深入了解jsp+servlet有利于学习各种开发框架。 实现了发布博文,对博文,博文分类,博文评论,注册用户进行管理等等功能。

2016-12-11

仿QQ可点击滑动的tab界面

模仿QQ可点击滑动的tab界面,简单,适合新手下载学习

2016-10-26

仿微信QQTab界面,可点击可滑动

开发工具为eclipse,代码已经经过测试,可以运行,直接可以导入测试学习,简单,适合新手学习!

2016-10-26

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

TA关注的人

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