自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (7)
  • 收藏
  • 关注

转载 面试官: 说一下你做过哪些性能优化?

1、 你对 APP 的启动有过研究吗? 有做过相关的启动优化吗?程序员:之前做热修复的时候研究过 Application 的启动原理。项目中也做过一些启动优化。面试官:程序员:我发现程序在冷启动的时候,会有 1s 左右的白屏闪现,低版本是黑屏的现象,在这期间我通过翻阅系统主题源码,发现了系统 AppTheme 设置了一个 windowBackground ,由此推断就是这个属性捣的鬼,开始我是通过设置 windowIsTranslucent 透明属性,发现虽然没有了白屏,但是中间还是有一小段不可见,这个用

2022-07-08 08:19:44 848

转载 Android启动流程:上电到启动第一个APP的详细流程

Android启动流程:上电到启动第一个APP的详细流程 1. 安卓启动大致如下图所示: 2. BootLoader (如果想了解跟详细关于bootloader请看:安卓bootloader) 从系统的角度上来讲,Android系统的启动过程可以分为 bootloader 引导,装载和启动 linux内核 启动Android系统bootloader 相当于电脑上的Bios 他的主要作用就是初始化基本的硬件设备,建立内存空间映射, 为装载linux内核准备好运行环境,当linux内核加载完

2022-07-05 06:13:29 1239

转载 Android | Android应用架构之MVVM模式

前言早期的Android应用开发中,Activity/Fragment承担了过多的职责,它们不仅负责了应用界面的显示,而且负责了业务逻辑的处理。这样一来,Activity/Fragment很容易就变得臃肿、复杂,造成应用难以测试、维护和扩展。随着Android应用开发技术的不断发展和成熟,Android应用架构的设计得到了越来越多开发人员的关注和重视。目前,Android的应用架构主要有MVC、MVP和MVVM模式,本文将介绍一下MVVM模式。相关知识Android应用架构之MVP模式Andro.

2022-05-29 12:13:43 648

原创 Android—MVC、MVP、MVVM

MVC:视图(View):用户界面。 控制器(Controller):业务逻辑 模型(Model):数据保存View 传送指令到 Controller Controller 完成业务逻辑后,要求 Model 改变状态 Model 将新的数据发送到 View,用户得到反馈操作方式: 用户操作View或Controller特点:单向传输,View代码量大,业务逻辑都部署在 View。MVP:Controller改为Presenter各部分之间的通信,都是双向的。.

2022-05-26 07:56:31 146

转载 Android状态栏微技巧,带你真正理解沉浸式模式

记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解。其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的。因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一些系统提供的状态栏操作就是沉浸式的,并且还起了一个沉浸式状态栏的名字。比如之前就有一个QQ群友问过我,像饿了

2022-05-12 05:32:14 306

转载 Android 沉浸式状态栏与隐藏导航栏

一般我们在Android的APP开发中,APP的界面如下:可以看到,有状态栏、ActionBar(ToolBar)、导航栏等,一般来说,APP实现沉浸式有三种需求:沉浸式状态栏,隐藏导航栏,APP全屏沉浸式状态栏是指状态栏与ActionBar颜色相匹配,隐藏导航栏不用多说,就是将导航栏隐藏,去掉下面的黑条。APP全屏是指将状态栏与导航栏都隐藏,例如很多游戏界面,都是APP全屏。所以,在做这一步时,关键要问清楚产品狗的需求,免得白费功夫。下面,分别来介绍这三种方式的实现。2 沉浸式.

2022-05-12 05:15:55 3409

原创 时间复杂度o(1), o(n), o(logn), o(nlogn)

1、时间复杂度o(1), o(n), o(logn), o(nlogn)。算法时间复杂度有的时候说o(1), o(n), o(logn), o(nlogn),这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。  大O描述的是算法的运行时间和输入数据之间的关系。2、时间复杂度为O(1)。  是最低的时空复杂度了,也就是耗时/耗空间与输入数据大小无关,无论输入数据...

2022-04-07 06:36:13 444 1

原创 合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]提示:两个链表的节点数目范围是 [0, 50]-100 <= Node.val <= 100l1 和 l2 均按 非递减顺序 排列j..

2022-01-27 13:47:09 217

原创 遍历一次单链表找到中间节点 (java实现)

给定一个头结点为 head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next .

2022-01-26 17:34:07 648

转载 删除有序数组中的重复元素II

79.删除有序数组中的重复元素II一、题目描述给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷

2022-01-21 15:00:50 180

转载 java实现两个有序单链表合并

本次分享的事两个有序单链表的合并,遍历方法递归非递归节点类/*** @auther: lawt* @date: 2018/11/4 08* @Description: 结点信息*/public class Node { /** * 为了方便,这两个变量都使用public,而不用private就不需要编写get、set方法了。 * 存放数据的变量,简单点,直接为int型 */ public int data...

2021-10-15 17:58:15 881

转载 三种方法实现链表反转(图示)

例子:1->2->3->4->5->null 反转之后:5->4->3->2->1->null一:思路图示例代码:public class LinkedListPractice { class ListNode { int val; ListNode next; ListNode(int x) { val = x; ...

2021-10-13 17:52:05 185

转载 IntelliJ IDEA创建maven web项目(IDEA新手适用)

步骤一:首先先创建一个project,在这里就是创建一个maven的工作空间步骤二:按照下面的步骤操作就可以了,最后next首先,选择左边的maven然后在右边Creater from archetype选项前面打个勾,最后选择maven-archetype-webapp(这里不知道是我IDEA的问题还是什么原因,我打webapp搜索它只给出第一个,所以在这个坑上耗了几乎1个小时,都选择了第一个)步骤三:就简单了,填写你的GroupId跟ArtifictId(瞎写都没...

2021-09-15 14:12:59 177

转载 Java面试题(JVM篇)

JVM194.说一下 jvm 的主要组成部分?及其作用?类加载器(ClassLoader)运行时数据区(Runtime Data Area)执行引擎(Execution Engine)本地库接口(Native Interface)组件的作用:首先通过类加载器(ClassLoader)会把Java代码转换成字节码,运行时数据区(RuntimeDataArea)再把字节码加载到内存中,而字节码文件只是JVM的一套指令集规范,并不能直接交个底层操作系统去执行,因此需要特定的命...

2021-08-13 16:22:23 136

转载 重写hashcode和equals方法

一。前言我们都知道,要比较两个对象是否相等时需要调用对象的equals()方法,即判断对象引用所指向的对象地址是否相等,对象地址相等时,那么与对象相关的对象句柄、对象头、对象实例数据、对象类型数据等也是完全一致的,所以我们可以通过比较对象的地址来判断是否相等。二。Object源码理解对象在不重写的情况下使用的是Object的equals方法和hashcode方法,从Object类的源码我们知道,默认的equals 判断的是两个对象的引用指向的是不是同一个对象;而hashcode也是根据对象地址生..

2021-08-11 10:26:46 1991

转载 LeetCode: 26. 删除排序数组中的重复项(Java)

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为:你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nums ...

2021-08-09 17:38:57 82

原创 用两个队列实现栈(java)

1 实现原理介绍 当需要插入元素时,总是将新元素插入到那个空的队列中,然后再将另一个有数据的队列中的数据,取出插入到存放新元素的队列中,即可完成栈的功能。**注意,每次执行完一次操作,两个队列中,只有一个队列有数据,要么是A,要么是B。**下面画图介绍具体过程:插入元素1此时有数据的是队列A。插入元素2此时有数据的是队列B。插入元素3此时有数据的队列A。删除栈顶元素,pop操作2 java代码实现import jav...

2021-08-09 15:02:40 803 2

原创 合并两个有序链表(https://leetcode-cn.com/problems/merge-two-sorted-lists/)

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]代码实现如下:/** * Definition for singly-linked list. * public class ListNo...

2021-08-09 11:05:26 93

转载 二叉树的前序遍历,中序遍历,后序遍历(Java实现)

1.前序遍历 前序遍历(DLR,lchild,data,rchild),是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问 根结点,然后遍历左子树,最后遍历右子树。若 二叉树为空则结束返回,否则:(1)访问根结点。(2)前序遍历左子树 。(3)前序遍历右子树 。 前序遍历需要注意的是:遍历左右子树时仍然采用前序遍历方法。如右图...

2021-08-06 17:20:41 552

转载 双向链表代码实现和详解—java实现

目录  一 .双向链表的优点  二 .插入  三 .遍历  四 .删除  五 .代码清单  六 .总结双向链表的优点  传统的链表沿着链表的反向遍历是困难的,以及操作某个节点的前一个元素,也是十分的困难。  双向链表提供了这些能力,即可以向前遍历,也可以向后遍历。其中实现在于每个链节点有两个指向其它节点的引用。一个指向前驱节点,一个像传统链表一样指向后继节点。如图:    双向链表的节点类是这样声明的:class Link <T>{ public T...

2021-08-06 11:29:48 150

原创 怎么运行Mybatis代码生成器MGB

方式一:作为 Maven Pluginmvn mybatis-generator:generate使用场景: 对逆向工程定制较多,项目工程结构比较单一的情况POM文件下需要以下插件<build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis..

2021-07-28 11:43:06 382

转载 Spring Cloud原理详解

概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓。因此本文将通过大量的手绘图,给大家谈谈Spring Cloud微服务架构的底层原理。实际上,Spring Cloud是一个全家桶式的技术栈,包含了很多组件。本文先从其最核心的几个组件入手,来剖析一下其底层的工作原理。也就是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件。一

2021-07-26 11:27:50 83

原创 MAVEN 编译报OutofMemoryError

MAVEN 编译时报OutofMemoryError解决方案如下Settings->Build,Execution,Deployment->Runner->VM Options:设置-Xmn128m-Xms2048m-Xmx2048m-XX:PermSize=128M-XX:MaxPermSize=512m再次运行,问题完美解决

2021-07-06 15:56:13 398

原创 java.io.IOException: Could not find resource mybatis-config.xml 路径无问题 可能的一种解决方案

代码块如下,文件都已配置就是报错,如下,找不到文件困扰了一阵,确实感觉很奇怪,不能明白为什么找了很久才发现是resources文件夹没有标记,idea不能识别选中resources文件夹,点击右键,进入Mark Directory as 添加成为Resources Root再次运行成功...

2021-07-06 09:48:49 390

转载 SpringMVC(一)入门和流程

1. Spring与Web环境集成1.1 ApplicationContext应用上下文获取方式应用上下文对象是通过new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件) ,这样的弊端是配置文件加载多次,应用上下文对象创建多次。在Web项目中,可以使用ServletContextListener监听Web应用的启动,我.

2021-06-17 09:59:59 93

转载 SpringMVC(二)数据响应和获得请求参数

SpringMVC的请求和响应SpringMVC的数据响应01-SpringMVC的数据响应-数据响应方式(理解)页面跳转直接返回字符串通过ModelAndView对象返回2) 回写数据直接返回字符串返回对象或集合02-SpringMVC的数据响应-页面跳转-返回字符串形式(应用)03-SpringMVC的数据响应-页面跳转-返回ModelAndView形式1(应用)在Controller中方法返回ModelAndView对象,并且设置视图名称@Request.

2021-06-17 09:58:10 214

转载 Spring系列之Spring常用注解总结

传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低。2、在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率。为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密结合,既大...

2021-06-15 16:11:55 65

转载 Spring注解详解

Spring注解详解注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。 注释和 Java 代码位于一个文件中,而 XML 配置采用独立的配置文件,大多数配置信息在程序开发完成后都不会调整,如果配置信息和 Jav

2021-06-15 06:36:03 144

转载 Mybatis新手教程之简单入门

这篇文章主要给大家介绍了关于Mybatis新手教程之简单入门的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧1、Mybatis概述  MyBatis 是支持普通 SQL 查询(相比较于Hibernate的封装,Mybatis是半自动化的JDBC封装,一个特点就是Mybatis执行的SQL查询语句需要自己在配置文件中写),存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设...

2021-06-08 17:49:42 3859

转载 FlexboxLayout——实现灵活多变的瀑布流

之前看到一个很炫酷的布局:FlexboxLayout,可以很方便地实现瀑布流的效果。今天正好用到项目中,对FlexboxLayout进行一个简单的学习。一、效果图先来看一波效果图。很熟悉,对不对?就是简书的定制热门页面。通过今天的学习,利用FlexboxLayout+RecyclerView就可以实现。下面是自己实现的效果图:像上述的应用场景,会经常在一些APP中看到。那么就学起来吧,看看是怎么实现的。二、FlexboxLayout简介...

2021-04-25 08:52:03 692

转载 View与ViewGroup绘制原理解析(一): 绘制流程

Android组件View绘制流程原理分析android视图构成如上图,Activity的window组成,Activity内部有个Window成员,它的实例为PhoneWindow,PhoneWindow有个内部类是DecorView,这个DecorView就是存放布局文件的,里面有TitleActionBar和我们setContentView传入进去的layout布局文件Window类时一个抽象类,提供绘制窗口的APIPhoneWindow是继承Window的一个具体的类,该类内部包含了.

2021-04-23 10:24:41 292

转载 HashMap常见面试题整理

花了三天时间来仔细阅读hashMap的源码,期间补了下不少数据结构的知识,刷了不少相关的面试题并进行了整理1.谈一下HashMap的特性?1.HashMap存储键值对实现快速存取,允许为null。key值不可重复,若key值重复则覆盖。2.非同步,线程不安全。3.底层是hash表,不保证有序(比如插入的顺序)2.谈一下HashMap的底层原理是什么?基于hashing的原理,jdk8后采用数组+链表+红黑树的数据结构。我们通过put和get存储和获取对象。当我们给put(...

2021-04-23 10:12:56 161

转载 HashMap使用对象作为key实现

HashMap在使用可变对象作为key是一件很危险的事情我们开始一个简单的实例class People{ private String name; private int age; public People(){ } public People(String name, int age) { this.name = name; this.age = age; }}public class Main {...

2021-04-23 07:50:35 1682

转载 ViewPager和ViewPager+Fragment联合使用方法精炼详解

一、前期基础知识储备使用了ViewPager, PagerSlidingTabStrip, SwipeRefreshLayout模仿Douban客户端的下拉刷新以及滑动的效果。ViewPager—视图滑动切换工具——通过手势滑动可以完成View的切换,一般是用来做APP 的引导页或者实现图片轮播——意味着ViewPager中经常放的东西有两个:①图片,实现图片轮播器;②View视图,实现View 的切换,如应用启动页面。ViewPager就是一个简单的页面切换组件,我们可以往里面填充多个Vi.

2021-04-22 15:19:56 1034

转载 RecyclerView进阶:使用ItemTouchHelper实现拖拽和侧滑删除

现在RecyclerView的应用越来越广泛了,不同的应用场景需要其作出不同的改变。有时候我们可能需要实现侧滑删除的功能,比如知乎首页的侧滑删除,又或者长按Item进行拖动与其他Item进行位置的交换,但RecyclerView没有提供现成的API供我们操作,所幸SDK提供了ItemTouchHelper这样一个工具类帮助我们快速实现以上功能。不多说别的,我们来介绍一下ItemTouchHelper。什么是ItemTouchHelperThis is a utility class to add s.

2021-04-22 10:23:56 756

转载 一种优雅的方式实现RecyclerView条目多类型

下面以一个故事来讲来说明这中方式是怎么实现的。放弃vlayout大家都了解一般首页是非常复杂的,去年初项目引入vlayout来解决首页复杂布局的问题,后来对vlayout和databinding结合进行了封装,使用起来更方便简单,不仅首页使用,很多页面都在用,还封装了单纯列表样式的Activity,刷新加载的Activity,这样很开心的过了很久。由于vlayout项目一直比较活跃,在满足各种各样的需求上一直在打补丁,我也是一直在把它更新为最新版本,直到又一次更新我的的列表不显示内容了,经过一上午的排

2021-04-21 22:52:01 242

转载 深入理解线程池底层原理

如何理解线程池的工作机制和原理?(1)线程池是用来干嘛的,用它有什么好处,怎么能更好的去用线程池?线程池是用来干嘛的?如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?使用线程池的好处1、降低资源消耗。重复利用已创建线程,降低线程创建与销毁的资源消耗。2、提高响应效率。任务到达时,不需等待创建线程就.

2021-04-20 23:22:05 147

转载 java 线程池 使用实例

java 线程池 使用实例1 线程池做什么网络请求通常有两种形式:第一种,请求不是很频繁,而且每次连接后会保持相当一段时间来读数据或者写数据,最后断开,如文件下载,网络流媒体等。另一种形式是请求频繁,但是连接上以后读/写很少量的数据就断开连接。考虑到服务的并发问题,如果每个请求来到以后服务都为它启动一个线程,那么这对服务的资源可能会造成很大的浪费,特别是第二种情况。因为通常情况下,创建线程是需要一定的耗时的,设这个时间为T1,而连接后读/写服务的时间为T2,当T1>>T2时,

2021-04-20 17:41:47 6667

转载 什么是阻塞队列(BlockingQueue)?

文章目录什么是阻塞队列(BlockingQueue)?项目环境1.阻塞队列(BlockingQueue)2.生产者消费者模式3.阻塞队列的优点3.1 降低多线程开发的难度3.2 隔离代码,实现业务代码解耦4.阻塞队列的特点4.1 take 方法4.2 put 方法4.3 是否有界5.参考项目环境jdk 1.8github 地址:https://github.com/huajiexiewenfeng/java-concurrent本章模块:blockingqueue1..

2021-04-20 15:38:30 164

转载 Java 实现栈的三种方式

栈:LIFO(后进先出),自己实现一个栈,要求这个栈具有push()、pop()(返回栈顶元素并出栈)、peek()(返回栈顶元素不出栈)、isEmpty()这些基本的方法。一、采用数组实现栈提示:每次入栈之前先判断栈的容量是否够用,如果不够用就用Arrays.copyOf()进行扩容import java.util.Arrays;/*** 数组实现栈* @param <T>*/class Mystack1<T> { //实现栈的数组 ...

2021-04-20 12:39:18 495

Mybatis逆向工程.rar

通过创建文件目录,结合命令模式,自动生成mybatis代码,好用!

2021-07-28

Mybatis代码生成器Demo(含数据库脚本).rar

实用mybatis代码生成器Demo, Maven Plugin 生成 和java程序生成两种方式

2021-07-28

mybatisDemo进阶入门有价值的案例,看过不会让你后悔,值得拥有.rar

mybatis进阶demo,包含动态sql,一对多,多对多关联查询,一级和二级缓存知识的应用,真心觉得很有价值,需要学习的人值得一看!

2021-07-15

阿里Java开发手册-2020版.rar

阿里巴巴java开发手册最新2020版本,是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一 线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理 成册,当前的版本是泰山版。感谢阿里,希望用技术情怀帮助更多的人。

2021-07-03

OpenSSL工具和使用安装文档

包含OpenSSL工具和使用安装文档,简单的命令。。。。。

2018-12-27

gradle-4.6.-all.zip

分享资源,下载后放置C:\Users\Administrator\.gradle\wrapper\dists\gradle-4.6-all目录下

2018-12-25

fastjson最新版本库1.2.47

fastjon最新版本库1.2.47,分享资源,一起学习。

2018-12-25

空空如也

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

TA关注的人

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