自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LoveSummer

https://github.com/andanyoung

  • 博客(1579)
  • 资源 (16)
  • 问答 (4)
  • 收藏
  • 关注

原创 JVM调优-CMS常见参数、线程计算与推荐配置

该值代表老年代堆空间的使用率,默认值为 68。在 cms gc remark 之前做一次 ygc,减少 gc roots 扫描的对象数,从而提高 remark 的效率,默认关闭。当使用 CMS 收集器时,默认年轻代使用多线程并行执行垃圾回收(UseConcMarkSweepGC 开启后则默认开启)。被启用时,并发的 CMS 阶段将以多线程执行(因此,多个 GC 线程会与所有的应用程序线程并行工作)。该参数启用后 JVM 无论什么时候调用系统 GC,都执行 CMS GC,而不是 Full GC。

2023-07-21 07:15:00 26105

转载 一次线上 JVM 调优实践,FullGC40 次 / 天到 10 天一次的优化过程

FullGC 一天超过一次肯定就不正常了。发现 FullGC 频繁的时候优先调查内存泄漏问题。内存泄漏解决后,jvm 可以调优的空间就比较少了,作为学习还可以,否则不要投入太多的时间。如果发现 CPU 持续偏高,排除代码问题后可以找运维咨询下阿里云客服,这次调查过程中就发现 CPU 100% 是由于服务器问题导致的,进行服务器迁移后就正常了。数据查询的时候也是算作服务器的入口流量的,如果访问业务没有这么大量,而且没有攻击的问题的话可以往数据库方面调查。

2023-07-20 11:24:26 19427

原创 RocketMQ实战总结|记一次消息队列堆积的问题排查

根据以上机制,回到本问题,假如这台 Proxy 机器的众多 MQ 消费者线程中有任意一个被卡住,那么整个 queue 的消费位点将永远停留在被卡住的消息对应的 offset。Tip:MQ 拉消息的机制是,拉到的消息会先存放在内存中容量为 1000 的 cache 中,然后这些内存中的消息将被消费者线程消费。至此,Proxy 系统个别机器 MQ 堆积严重的问题根因找到:该机器的某个消费者线程在通过 HTTP 下载图片时一直卡住,导致整个 queue 的消费位点无法往前推进,从而持续堆积。

2023-07-20 07:00:00 28517 2

原创 请给 SpringBoot 写一个优雅的单元测试吧?

前面的知识表明,单元测试就是对一个系统中的某个最小单元的逻辑正确性的测试,通常是对一个方法来进行测试,因为只测试逻辑正确性,所以这个测试是独立的,不与任何外界环境相关,比如不需要连接数据库,不访问网络和文件系统,不依赖其他单元测试。但是现实的业务逻辑中往往有很多复杂错综的依赖关系,比如你想对 Service 进行单元测试,那么它要依赖一个数据库持久层的 Repository 对象,这时候就难办了,若创建了一个 Repository 便连接了数据库,连接了数据库便不是一个独立的单元测试。

2023-07-19 01:45:00 61002 6

转载 Elasticsearch 8.X 性能如何优化?看这一篇就够了!

Elasticsearch 是实现用户无缝搜索体验的关键工具。它通过提供快速、准确和相关的搜索结果,彻底改变了用户与应用程序的互动方式。然而,要确保 Elasticsearch 部署达到最佳性能,就必须关注关键指标,并对诸如索引、缓存、查询、搜索以及存储等各种组件进行优化。在本博文中,我们将深入探讨如何调整 Elasticsearch 以实现最佳性能和发挥最大潜能的最佳实践与技巧,从优化集群健康、搜索性能和索引,到精通缓存策略和存储选项。

2023-07-18 14:16:31 20887

原创 基于 rsync 像 macOS 的 Time Machine 一样备份您的 Linux 服务器

这个脚本我用了几天,感觉 Time Machine 的特性都具备了,而且磁盘满的时候可以自动清理最早的备份,权限、硬链接全部正常,觉得应该完美了。最重要的是 (wo) 不(bu)用 (hui) 配置复杂的 rsync,可以说是 Linux 版的 Time Machine!-a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;前几天我误删了几个文件,还好我有设置 Time Machine 自动备份,于是我打开 Time Machine,点几下鼠标,文件就回来了!

2023-07-18 08:30:00 58884

原创 小心@Async注解,让我们进入Spring循环依赖的坑

早期暴露出去的对象,可能是 AService 本身或者是 AService 的代理对象,而且是通过 AnnotationAwareAspectJAutoProxyCreator 对象实现的,但是通过 AsyncAnnotationBeanPostProcessor 的回调,会对 AService 对象进行动态代理,这就导致 AService 早期暴露出去的对象跟最后完全创造出来的对象不是同一个,那么肯定就不对了。也就说,AOP 和 @Async 注解虽然底层都是动态代理,但是具体实现的类是不一样的。

2023-07-17 06:30:00 57873

原创 Spring依赖注入Bean类型的8种情况详解

到这 Spring 能够注入的 Bean 的 8 种类型就讲完了,其实这 8 种类型可以分为以下几种功能:单一注入,就是注入一个单一的对象集合注入,可以注入数组或者集合延迟注入,比如 @Lazy、ObjectFactory、ObjectProvider、JSR-330 Provider安全注入,不存在不会抛异常,比如 Optional、ObjectProvider。

2023-07-14 08:00:00 59011

原创 Spring 中的父子容器你了解吗?

在 SSM 项目中,Spring 容器是父容器,SpringMVC 是子容器,子容器可以访问父容器的 Bean,但是父容器不能访问子容器的 Bean。更近一步,有小伙伴可能也了解过,不用父子容器,单纯就用一个 SpringMVC 容器似乎也可以,项目也能运行。那么现在问题来了:既然单纯一个 SpringMVC 容器就能使项目跑起来,那我们为什么还要用父子容器?父子容器的优势是什么?

2023-07-13 07:45:00 55637

原创 【开源】用户画像系统

用户画像系统可以帮助企业更好地了解用户需求和喜好,提供个性化的产品推荐、营销策略和服务,提升用户体验和用户满意度。通过用户画像系统,企业可以更精准地定位目标用户,优化产品设计和营销活动,提高市场竞争力。构建用户画像系统的流程。

2023-07-12 07:15:00 58940

原创 Jenkins Pipline使用SonarScanner 检查 VUE、js 项目 中遇到的Bug

出现这个 bug 的时候,用的是 SonarQube5.2 版本,所以需要 Jenkins 通过账户密码登录,但是因为账号权限受限,所以无法连接到 Sonar 的服务器,所以后来更新账号密码就好了。在 Jenkins 上使用 Pipline 进行集成,利用 SonarScanner 做静态代码扫描的过程中,遇到了几个问题,这里记录了一点解决办法。

2023-07-11 17:08:48 59173

原创 谈一谈开发团队代码质量如何管控与提升

以上就是我对代码质量管理与提升方面的经验与思考,里面涉及到很多东西,有流程的制定、工具的协作、工具的打通、规范的制定等,因此这是一个系统性的方案,希望可以利用一整套代码质量管理的流程,在关键的流程节点来把控代码的质量,形成闭环,希望可以帮助有需要的人,如果有更好的建议也希望大家多提意见进行补充,没有完美的方式,只有找到适合的可落地的就是好的。

2023-07-11 07:15:00 60199

转载 用 Nginx 禁止国外 IP 访问我的网站...

先来说说为啥要写这篇文章,之前看了下 Nginx 的访问日志,发现每天有好多国外的 IP 地址来访问我的网站,并且访问的内容基本上都是恶意的。因此我决定禁止国外 IP 来访问我的网站。想要实现这个功能有很多方法,下面我就来介绍基于 Nginx 的 ngx_http_geoip2 模块来禁止国外 IP 访问网站。

2023-07-10 15:36:44 97585 12

原创 数据库连接池到底应该设多大?这篇文章告诉你

我在研究 HikariCP(一个数据库连接池)时无意间在 HikariCP 的 Github wiki 上看到了一篇文章(即前面给出的链接),这篇文章有力地消除了我一直以来的疑虑,看完之后感觉神清气爽。故在此做译文分享。

2023-07-10 08:30:00 36432

原创 IO流为什么必须手动关闭,如何手动关闭,不坐等GC回收

我们深知在操作 Java 流对象后要将流进行关闭,但是现实的情况却往往不尽人意,原因是每个开发者的写法可能不尽相同,不同的写法导致出现各种千奇百怪的问题,下面我们一起来看看几种关闭流的代码案例!try {// ...操作流代码// 依次关闭流try {try {// 此处会报 java.io.IOException: Stream Closed 错误按照先后顺序关闭文件流,这种写法下,有可能会报错误。原因是依赖于,如果直接关闭流,再次关闭。

2023-07-07 10:32:32 35106

原创 记录Maven 依赖包版本号奇奇怪怪的问题 - okhttp3、okio 版本指定无效

问题背景SprintBoot项目使用Okhttp 封装SDK,根据官网使用Maven导入JavaSDK

2023-07-05 11:26:03 38110

原创 BI和报表的区别,终于有人说清楚了!

本文主要讲明了 BI 与报表的区别,并明确了企业在信息化 / 数字化建设过程中的三个阶段。但值得一提的是,不必纠结于概念,因为无论是报表还是 BI 工具,都是为企业和人服务的,选择适合企业所处数据阶段的工具就是最好的。报表工具适合正处于。

2023-06-30 09:32:32 38121

原创 后端服务架构高性能设计之道

本文主要探讨和总结服务架构设计中高性能的技术和方法,如下图的思维导图所示,左边部分主要偏向于编程应用,右边部分偏向于组件应用,文章将按图中的内容展开。本文探讨和总结了后台开发设计高性能服务的常用方法和技术,并通过思维导图总结了成一套方法论。当然这不是高性能的全部,甚至只是凤毛菱角。每个具体的领域都有自己的高性能之道,如网络编程的 I/O 模型和 C10K 问题,业务逻辑的数据结构和算法设计,各种中间件的参数调优等。文中也描述了一些项目的实践,如有不合理的地方或者有更好的解决方案,请各位同仁赐教。

2023-06-05 08:30:00 40203

转载 Bean异步初始化,让你的应用启动飞起来

应用启动速度主要的瓶颈在于 bean 的初始化过程,本文提供了启动速度的一个探索方向。如果你的系统启动耗时 250s 以上,文章思路应该可以帮到你。

2023-06-02 10:18:33 31209

原创 Mysql小知识 delete 清空表之后,磁盘空间未发生变化?

当 ID 为 6 的记录被删除掉之后,这块空间并不会立马被释放出来,MySQL 只是在这个位置做一个删除标记,将来要是还有一个 ID 为 6 的数据被插入进来,就会插入到这里。MySQL 中的数据删除操作有点像我们平日里做业务开发时用的逻辑删除,当你想要删除掉一行数据的时候,这行数据其实并没有被真正的删除掉,只是暂时给标记为删除了而已。在上图这个 B+Tree 中,继续插入 5,就会造成页分裂,页分裂之后,2 所在的数据页(InnoDB 操作磁盘的最小单位是数据页)就会有空余,这也是空洞的一种。

2023-06-02 10:15:00 50118

原创 K8s实战小技巧——该如何查看pod崩溃前的日志

并且是链接文件,链接到docker的容器的日志文件,同时kubelet还会保留上一个容器,同时有一个链接文件链接到pod上一个崩溃的容器的日志文件,使用previous就是查看的这个文件。看到分别指向了这两个容器的日志文件,一个是当前pod里在跑的容器,一个是pod上次跑的容器,现在已经退出了。下的日志文件,且专门有个链接文件来指向上一个退出容器的日志文件,以此来获取容器崩溃前的日志。的时候,读的是上次退出的容器的日志文件,由于kubelet为pod保留了上次退出的容器。代表是第2394次重启后的日志。

2023-06-01 06:30:00 50172

转载 你见过哪些优雅的 Java 代码优化技巧?

多个并行的类实现相似的代码逻辑。我们可以考虑提取相同逻辑在父类中实现,差异逻辑通过抽象方法留给子类实现。对于相同的流程和逻辑,我们还可以借鉴模板方法模式将其固定成模板,保留差异的同时尽可能避免代码重复。// 若子类没有实现该方法,则不进行数据校验在上面的代码中,是一个抽象类。该类提供了一个方法,它定义了导入数据的整个流程。具体而言,该方法首先从文件中读取原始数据,然后对数据进行校验,最后将数据保存到数据库中。其中,和方法是抽象的,由子类来实现。

2023-05-31 15:00:00 31804

原创 一文看透Vue3 与 React 全方面对比

1、Vue上手更简单,特别是从dom和jquery时代过来的程序员,或者习惯模板语言的后端开发,更容易接受Vue。2、Vue从设计上讲,跟趋向于简化使用,就是说Vue从骨子里面就是想用起来简单,但React更多的是为大型工程考虑。3、React上手稍微难一点,除了Vue那些基础,你还得学习,纯函数组件,函数式编程,JSX,css-in-js,高阶组件,Redux等。4、在组件化上,React更纯粹,也可以说更强大一些,而Vue不是完全组件化,应对一些复杂组件,可能会有些麻烦。

2023-05-30 09:03:20 48001

转载 Java注解编译期处理AbstractProcessor详解

我们接触的注解主要分为以下两类运行时注解:通过反射在运行时动态处理注解的逻辑编译时注解:通过注解处理器在编译期动态处理相关逻辑平时我们接触的框架大部分都是运行时注解,比如:@Autowire @Resoure @Bean 等等。那么我们平时有接触过哪些编译期注解呢,@Lombok等等像这些编译时注解的作用都是自动生成代码,一是为了提高编码的效率,二是避免在运行期大量使用反射,通过在编译期利用反射生成辅助类和方法以供运行时使用。那这些编译器注解都是如何运行的呢?又是怎么自动生成代码的呢?

2023-05-30 08:57:40 33144

原创 炸裂开源:你肯定需要的6 个中文版 ChatGPT 提示教程。

提示工程(Prompt Engineering)是一门相对较新的学科,教你你如何开发、优化提示来更好的使用 GPT 等大模型、更好的将大模型的能力接入到你的系统中。本文整理了 GitHub 上质量最高的 6 个【中文版】提示工程教程。提示工程指南(累计70万学习者)国人开源的免费教程Brex 的提示工程指南吴恩达的提示工程课大模型论文、开源项目整理提示工程指南中文版。

2023-05-29 11:43:49 42020

原创 企业级实战 Spring Boot + K8S 中的滚动发布、优雅停机、弹性伸缩、应用监控、配置分离

下面为大家介绍我司生产环境使用了3年的基于K8S的dev ops 配置实现 K8s + SpringCloud实现零宕机发版,优雅重启:健康检查+滚动更新+优雅停机+弹性伸缩+Prometheus监控+配置分离(镜像复用)

2023-05-26 09:15:00 35098

原创 SpringBoot 插件 spring-boot-maven-plugin 原理,以及SpringBoo工程部署的 jar 包瘦身实战

Spring Boot 可执行 Jar 包的入口点是 JarLauncher 的 main 方法;这个方法的执行逻辑是先创建一个 LaunchedURLClassLoader,这个加载器加载类的逻辑是:先判断根类加载器和扩展类加载器能否加载到某个类,如果都加载不到就从 Boot-INF 下面的 class 和 lib 目录下去加载;读取Start-Class属性,通过反射机制调用启动类的 main 方法,这样就顺利调用到我们开发的 Spring Boot 主启动类的 main 方法了。

2023-05-25 09:15:00 40505

原创 Spring探索——既生@Resource,何生@Autowired?

Autowired是 Spring 提供的注解,@Resource是 JDK 提供的注解。Autowired默认的注入方式为byType(根据类型进行匹配),可以配合@Qualifier 实现byName匹配。默认注入的值必须存在,否则报错。除非required = false@Resource默认注入方式为byName(根据名称进行匹配),如果byName没有则按照byType匹配,默认注入的值不存在,不会报错。当一个接口存在多个实现类的情况下,@Autowired和@Resource。

2023-05-24 09:15:00 32773 2

原创 ZooKeeper 用的好好地,Kafka 为什么要抛弃 ZooKeeper?

可能看到这里有人会说,那为何一开始不这么实现?因为 ZooKeeper 是一个功能强大且经过验证的工具,在早期利用它来实现一些功能,多简单哟,都不需要自己实现。要不是 ZooKeeper 的机制导致了这个瓶颈,也不可能会有这个改造的。软件就是这样,没必要重复造轮子,合适就好。参考资料:

2023-05-23 10:15:00 45025 1

原创 Spring 官方建议的在 Spring Boot 应用中如何做单元测试

Spring Boot提供了一个 @SpringBootTest 注解,用在单元测试类上以启用支持Spring Boot特性的单元测试,如果使用的是JUnit 4,那么测试类上还需要额外的@RunWith(SpringRunner. class)注解,然后在测试类方法上添加 @Test 注解即可,每一个 @Test 注解修饰的方法就是一个单元测试方法。测试当前应用下的 /user/get 接口,传入对应的用户名参数,最后检查请求状态是否OK(200),响应的内容是否和预期一致,测试结果如下图所示。

2023-05-22 09:00:00 47090

原创 这 10 个好玩的 AI 项目开源了!

基于 AI 的口语训练平台一句话生成 3D 模型歌声转换识图模型。

2023-05-19 08:45:00 48396 1

原创 12个超好用的免费在线工具,大大提高生产力,建议收藏!

好的工具,能够帮助我们更高效地完成工作,节省时间和精力;节省出更多的摸鱼时间!本文将介绍12款绝佳的免费效率工具,这些工具可以让你事半功倍,提高工作效率。无论你是一名程序员、设计师、学生还是白领,这些工具都能够帮助你更好地完成工作。赶快试试吧!

2023-05-18 08:15:00 57678

原创 Spring 高级依赖注入 —— Bean的延迟依赖查找功能,ObjectFactory 和 ObjectProvider

通过示例代码和源码分析可以更确定延迟的概念,所谓延迟依赖查找就是等真正用到对象的时候才去获取对象。那么使用延迟查找的应用场景有哪些呢可以让依赖的资源充分等到初始化完成之后再使用可以和@Lazy注解配合充分实现延迟初始化在本例的代码中,我们只在user()方法上面简单标注了@Bean注解,还可以通过标注@Lazy注解实现User对象的延迟初始化,和配合使用就可以实现真正用到该对象的那一刻才进行初始化操作。可用于解决构造器级别的循环依赖。

2023-05-17 14:32:56 64155

原创 SpringBoot 实战 开发中 16 条最佳实践

这条实践是我根据实际项目中的经历总结出的。Spring Boot项目本身使用和集成了大量的开源项目,它帮助我们维护了这些第三方依赖。但是也有一部分在实际项目使用中并没有包括进来,这就需要我们在项目中自己维护版本。如果在一个大型的项目中,包括了很多未开发模块,那么维护起来就非常的繁琐。怎么办呢?事实上,Spring IO Platform就是做的这个事情,它本身就是Spring Boot的子项目,同时维护了其他第三方开源库。

2023-05-12 07:30:00 69618

原创 五分钟讲透 Redis Lua脚本,以及Redis cluster集群模式下的 command keys must in same slot 解决方案 redis hash tag

redis集群版的lua脚本,可以通过key的部分字符串hash来解决redis集群版的分布式是会根据KEY进行hash取模然后打到不同的slot,这种思想是典型的分而治之。分治,分流,降级。以上是关于lua在redis集群中的解决方案-- command keys must in same slot的主要内容。

2023-05-11 09:00:00 61079

原创 源码级别讲解 redis 底层数据结构

Redis作为Key-Value存储系统,数据结构如下:Redis没有表的概念,Redis实例所对应的db以编号区分,db本身就是key的命名空间。比如:user:1000作为key值,表示在user这个命名空间下id为1000的元素,类似于user表的id=1000的 行。

2023-05-10 07:45:00 49863

原创 聊聊并发编程的12种业务场景

并发编程是一项非常重要的技术,无论在面试,还是工作中出现的频率非常高。并发编程说白了就是多线程编程,但多线程一定比单线程效率更高?答:不一定,要看具体业务场景。毕竟如果使用了多线程,那么线程之间的竞争和抢占cpu资源,线程的上下文切换,也是相对来说比较耗时的操作。你在哪来业务场景中使用过多线程?怎么用的?踩过哪些坑?今天聊聊我之前在项目中用并发编程的12种业务场景,给有需要的朋友一个参考。

2023-05-09 08:30:00 50058

原创 Spring Boot 如何让你的 bean 在其他 bean 之前完成加载 ?

这里提到了 ConfigurationClassPostProcessor,实现了 BeanDefinitionRegistryPostProcessor 接口。它是一个非常非常重要的类,甚至可以说它是 Spring boot 提供的扫描你的注解并解析成 BeanDefinition 最重要的组件。

2023-05-08 10:37:37 60554

原创 代码命名规范的套路是真优雅呀,命名如歌,代码如诗

日常编码中,代码的命名是个大的学问。能快速的看懂开源软件的代码结构和意图,也是一项必备的能力。那它们有什么规律呢?Java项目的代码结构,能够体现它的设计理念。Java采用长命名的方式来规范类的命名,能够自己表达它的主要意图。配合高级的IDE,可以减少编码人员的记忆负担,靠模糊的匹配就能找到自己所需要的资源。为了让大家更好的理解命名的套路,我借鉴了最流行的Java接开源软件(spring系列,netty,libgdx,guava,logback等等),总结了10类常见的类命名。

2023-05-05 08:30:00 41710

转载 代码评审的18个军规,收藏好

我们开发完需求,提测前,一般都需要。小伙伴们,你们知道代码评审,?今天给你带来代码评审的18个军规。

2023-05-04 14:38:56 38875

2023最新JAVA面试刷题手册

12万字java面经总结

2023-09-13

2022图解网络 IPv6 、网络设备、二层交换机、三层交换机、防火墙、无线、设备选型,网络规划和实战

我们用手机连接上网的时候,会用到许多网络协议。从手机连接 WiFi 开始,使 用的是 802.11 (即 WLAN )协议,通过 WLAN 接入网络;手机自动获取 网络配置,使用的是 DHCP 协议,获取配置后手机才能正常通信。这时手机已 经连入局域网,可以访问局域网内的设备和资源,但还不能使用互联网应用,例 如:微信、抖音等。想要访问互联网,还需要在手机的上联网络设备上实现相关 协议,即在无线路由器上配置 NAT、 PPPOE 等功能,再通过运营商提供的互 联网线路把局域网接入到互联网中,手机就可以上网玩微信、刷抖音了。局域网 :小范围内的私有网络,一个家庭内的网络、一个公司内的网络、一个校园内 的网络都属于局域网。 广域网:把不同地域的局域网互相连接起来的网络。运营商搭建广域网实现跨区域的 网络互连。 互联网:互联全世界的网络。互联网是一个开放、互联的网络,不属于任何个人和任 何机构,接入互联网后可以和互联网的任何一台主机进行通信。 简单来说,就是手机、无线路由器等设备通过多种网络协议实现通信。网络协议 就是为了通信各方能够互相交流而定义的标准或规则,设备只要遵循相同的网络 协议就

2022-07-04

windows加密器9款加密工具合集:U盘防拷贝、视频加密、PDF文件加密、EXE文件加密等

9款加密工具合集:U盘防拷贝、视频加密、PDF文件加密、EXE文件加密等 超时代 U盘防拷贝系统 文件夹加密精灵V5.3 金盾跨平台视频加密系统2019VIP 光盘加密 光盘加密大师5.0.0 超时代视频加密器-专业版9.35 VProtect加密 PDF文档加密器V5.0 EXE文件加密器7.1-增强版_VIP2

2022-05-13

k8skubectl.pdf

送你一份 Kubernetes 实用命令速查表

2021-12-24

Jenkins持续集成从入门到精通.pdf

软件开发生命周期又叫做SDLC(Software Development Life Cycle),它是集合了计划、开发、测试 和部署过程的集合。如下图所示 :

2021-09-07

Navicat.7z

Navicat Premium 是一个数据库开发工具,允许您从单个应用程序连接到MySQL,MariaDB,SQL Server,Oracle,PostgreSQL和SQLite数据库。与Amazon RDS,Amazon Aurora,Amazon Redshift,SQL Azure,Oracle Cloud和Google Cloud等云数据库兼容。您可以快速轻松地构建,维护和维护数据库。

2020-03-26

Maven基础讲义.zip

Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven 在美国是一个口语化的词 语,代表专家、内行的意思。 一个对 Maven 比较正式的定义是这么说的:Maven 是一个项目管理工具,它包含了一个项目对象模 型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管 理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标 (goal)的逻辑。

2019-07-30

西蒙iPhone-OpenGL ES 教程【中文翻译版PDF】

西蒙OpenGL ES 教程 IOS开发,ios技术文档,网络收集整理。西蒙iphone-OpenGL ES 教程,共13篇。第8、12章由于有更好的技术,所以被译者跳过。

2017-09-01

C语言程序设计_2003.pdf

C语言程序设计 何钦铭,颜晖主编2003—电子书

2015-07-05

C语言API函数速查.chm

C语言库函数API[CHM文档]是一个很好的C语言函数查询器.属于CHM文档.

2015-07-05

api web

W3CSchool很不错的WEB开发API。

2015-05-17

SurfaceView

SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。

2015-05-05

JsonDemo

JsonDemo

2015-05-03

JAVA_正则表达式简介

JAVA_正则表达式简介详解

2015-05-03

CameraDemo

Android SDK支持操作Android设备内置的照相机。从Android2.3开始,支持操作多个摄像头(主要指前置摄像头和后置照相机)。通过照相机可以拍照和录像。快速拍照

2015-05-02

android 选项卡TanHost

选项卡主要有TabHost、TabWiget和 FramentLayout3个组件组成,用于实现一个多标签的用户界面,通过他可以将一个复杂的对话分隔成若干个标签页,实现对信息的分类显示和管理。使用给组件不仅可以使界面美观大方,还可以有效地减少窗体个数。 在Android中,实现选项卡的一半步骤如下: (1)在布局文件中添加实现选项卡所需的TabHost、TabWiget和 FramentLayout组件。 (2)编写各个标签页中要显示内容所对应的XML布局文件。 (3)在Activity个,获取并初始化TabHost组件。 (4)为TabHost对象添加标签页。

2015-05-02

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

TA关注的人

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