程序员
文章平均质量分 84
javase1086
这个作者很懒,什么都没留下…
展开
-
android 如何请求后台curl配置的接口(并绕过证书认证),vivoandroid面试
public static void callAll() {mOkHttpClient.dispatcher().cancelAll();}public static void init(OkHttpClient okHttpClient) {mOkHttpClient = okHttpClient;}@Overridepublic void get(Context context, String url, Map<String, Object> header,Map<St原创 2022-03-19 20:38:48 · 412 阅读 · 0 评论 -
Android 图片处理特效,不同层级的Android开发者的不同行为
canvas.drawBitmap(bitmap, rect, rect, paint);return bitmap2;}// Reflect Bitmappublic static Bitmap createReflectedBitmap(Bitmap bitmap){final int reflectedGap = 4;int..原创 2022-03-19 20:37:11 · 2563 阅读 · 0 评论 -
Android 使用高德SDK实现导航笔记,android热更新原理
实现逻辑:首先使用检索功能获取目的地的经纬度作为终点,使用定位功能获取当前位置的经纬度作为起点。然后将起始点传递给导航模块就可以了。主要代码:1.定位: /**定位成功后回调函数*/@Overridepublic void onLocationChanged(AMapLocation aLocation) {if (mListener != null && aLocation != null) {double locateLat = aLocation.getLati原创 2022-03-19 20:35:34 · 536 阅读 · 1 评论 -
Android 使用MaskFilter为Paint设置效果,android应用开发案例教程
NORMAL:在目标内外显示面具,从边缘向目标内和目标外到离边缘radius宽的地方,向外显示面具时都会同时显示在目标边缘处获得的颜色。OUTER:在目标外显示面具,从边缘向目标外到离边缘radius宽的地方,并且该部分会显示出从目标边缘获得的颜色,不显示目标SOLID:在目标外显示面具,从边缘向目标外到离边缘radius宽的地方,并且该部分会显示出从目标边缘获得的颜色,显示目标看初始化函数BlurMaskFilter(float radius, BlurMaskFilter.Blur&n原创 2022-03-19 20:33:57 · 389 阅读 · 0 评论 -
为什么需要 JVM?它处在什么位置?
Java 程序到底是如何执行的?JVM 和操作系统的关系工程师就相当于铸剑的剑师,JVM 便是剑炉。JVM 全称 Java Virtual Machine,也就是我们耳熟能详的 Java 虚拟机。它能识别 .class后缀的文件,并且能够解析它的指令,最终调用操作系统上的函数,完成我们想要的操作。在此我向大家推荐一个架构学习交流圈。交流学习伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、原创 2022-03-19 18:06:43 · 551 阅读 · 0 评论 -
我的面试经之JVM(二)内存结构概述
内存结构概述1.内存结构概述2.类加载器与类的加载过程3.类加载分类器4.ClassLoader的使用5.双亲委派机制6.其他这是一个可供参考的简图:类加载器子系统Class Loader:字节码文件——》类加载器子系统,包括:加载【引导类加载器、扩展类加载器、应用类(系统)加载器】——链接【验证、准备、解析】——初始化。在此我向大家推荐一个架构学习交流圈。交流学习伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBati原创 2022-03-19 18:04:55 · 114 阅读 · 0 评论 -
SpringBoot 构建 Docker 镜像的最佳 3 种方式
本文将介绍3种技术,通过 Maven 把 SpringBoot 应用构建成 Docker 镜像。(1)使用 spring-boot-maven-plugin 内置的 build-image.(2)使用 Google 的 jib-maven-plugin。(3)使用 dockerfle-maven-plugin。Spring Boot 应用为了方便实践,需要一个 Spring Boot 项目。项目环境:Java 11Maven 3.6.3使用 m.原创 2022-03-18 18:23:26 · 7463 阅读 · 1 评论 -
Spring Boot整合Java web项目
1:Spring Boot是Spring家族中的一个全新的框架,它用来简化Spring应用程序的创建和开发过程,也可以说Spring boot能简化我们之前采用SpringMVC+Spring+Mybatis框架进行开发的过程。2:在以往我们采用SpringMVC+Spring+Mybatis框架进行开发的时候,搭建和整合三大框架,我们需要做很好工作,比如配置web.xml,配置Spring,配置Mybatis,并将它们整合在一起等;而Spring boot框架对此开发过程进行了革命性的颠覆,抛弃了繁.原创 2022-03-18 18:22:05 · 482 阅读 · 0 评论 -
阿里Java架构师背后的技术体系支撑(详细分层,建议查阅)
前言系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。从一个程序员到架构师是一个很大的变化,架构师需要从大的方面考虑,而不只是考虑这个模块该用哪种设计模式去开发。总之,想要成为架构师,需要有耐心,不断学习,拓宽自己的视野,不仅仅局限于自己眼前的项目。以下就是架构学习路线详细分解,图谱需要可自行下载,文末有福利放送,感谢大家支持。点击 这里 加入免费获取。原创 2022-03-16 18:48:51 · 207 阅读 · 0 评论 -
java架构师课程的流程有哪些?
Java构架师是现在一个很吃香的行业,就业前景非常好,工资待遇也很可观,有许多小伙伴想要成为一名java架构师,但不知道Java架构师课程的流程有哪些,也不清楚Java架构师学习目录有哪些?接下来我们就一起来了解下吧。一、架构师筑基从架构设计,到应用层调优,再深入了解底层原理,扎实的Java基本功才能让自己变为扫地神僧:内存模型,并发模式,线程模型,锁的细节等等。二、高性能架构我们不仅仅对项目要运筹帷幄,还要能解决一切性能问题。深入学习JVM底层原理,Mysql底层优化以及Tomcat调优,就能达原创 2022-03-16 18:45:53 · 153 阅读 · 0 评论 -
Spring 的三种注入方式,到底哪种注入方式最佳?
1. 实例的注入方式首先来看看 Spring 中的实例该如何注入,总结起来,无非三种:属性注入set 方法注入构造方法注入我们分别来看下。1.1 属性注入属性注入是大家最为常见也是使用最多的一种注入方式了,代码如下:@ServicepublicclassBService{@AutowiredAService aService;//…}这里是使用 @Autowired 注解注入。另外也有 @Resource 以及 @Inject 等注解,都可以实现注入。想学习交流.原创 2022-03-15 21:20:05 · 2344 阅读 · 3 评论 -
超级全面的Spring的事务处理总结
咱们就来讨论一下Spring的事务处理,在学习事务处理前,需要明确一点:**数据库操作最终都要使用到JDBC,那么无论上层如何封装,底层都是调用Connection的commit,rollback来完成。**OK,咱们进入正题!!!1.什么是事务事务是逻辑上的一组操作,要么都执行,要么都不执行。我们系统的每个业务方法可能包括了多个原子性的数据库操作,比如下面的 savePerson() 方法中就有两个原子性的数据库操作。这些原子性的数据库操作是有依赖的,它们要么都执行,要不就都不执行。另外,需要原创 2022-03-15 21:19:35 · 1181 阅读 · 0 评论 -
一步步学习java后台(三)(接口返回数据处理)
本期目标1.添加Spring注解支持, 通过注解使得接口可以成功返回一个字符串添加AccountVo,并将AccountVo转换为JSON数据返回Spring注解没有注解的Spring框架是没有灵魂的!上一章中,传统的SpringMVC的Controller只能完成通过实现函数 ModelAndView handleRequest()实现一种方法,此外,在spring-servlet.xml中,我们需要对每一个controller注册一个path。一个成熟的后台出现的路径可能以千记,难以想象通原创 2022-03-14 17:45:45 · 5135 阅读 · 0 评论 -
一步步学习java后台(二)(SpringMVC的配置)
这期目标成功添加SpringMVC的配置文件添加/hello路径,通过访问新的页面上期我们已经成功地通过Maven引入SpringMVC,但是没有配置文件,SpringMVC是没有用的。在这里,我们需要先明确下Servlet,SpringMVC之间的关系。Servlet -> SpringMVCServletServlet是一个小型的JAVA程序,运行在Web 服务器中来处理用户的请求。javax 提供了接口Servlet 来描述可控制这个程序:关键就是第三个函数,用来接收Req原创 2022-03-14 17:43:47 · 803 阅读 · 0 评论 -
一步步学习java后台(一)(IDEA, Spring, Maven, MyBatis)
后台是网络开发的重中之重,复制逻辑与数据的开发。但是后台开发IDE有多个家族,框架多种多样;Spring系列虽然应用最为广泛,但是依赖多种配置,各种xml的配置项多如牛毛,而网上的教程,多数直接给出配置文件,让学习者直接复制。对纯新手而言,这样做非常容易出现无法解决的报错,导致非常难以入门。我做这个系列,就是想作为一个纯后台新手,通过记录自己一步步搭建后台程序的过程,既让自己学会操作,也帮助大家在学习过程中少绕弯路。因为我也是一个纯新手,肯定会有各种错误,希望大家不吝指正,多谢大家!!开发环境选择操原创 2022-03-14 17:38:33 · 1772 阅读 · 0 评论 -
一步步学习java后台(四)(Spring Boot的初始化)
本期目标学习Spring Boot的初始化,创建一个Spring Boot工程Spring Boot之前我们基于SpringMVC构建了引导工程,可以看到,SpringMVC,乃至Spring框架最大的痛点,在于配置文件过多。对一个最简单的MVC工程,已经出现了 xxx-servlet.xml 与 applicationContext.xml两个配置文件,里面标签众多,据我所知,后台同学新建项目也是不停复制已有项目,不到遇见bug的时候是不会去查标签意思的。SpringBoot就是用来解决这个痛点原创 2022-03-14 17:35:48 · 1731 阅读 · 0 评论 -
SpringBoot源码分析之异常处理
微信号:cgmx9880微信公众号:java 进阶营如有问题或建议,请在公众号留言[1]前续为帮助广大SpringBoot用户达到“知其然,更需知其所以然”的境界,作者将通过SpringBoot系列文章全方位对SpringBoot2.0.0.RELEASE版本深入分解剖析,让您深刻的理解其内部工作原理。正文在SpringBoot启动时,会查找并加载所有可用的SpringBootExceptionReporter,其源码如下://7 使用SpringFactoriesLoader在应用的cl.原创 2022-03-14 17:32:11 · 631 阅读 · 0 评论 -
【Java架构进阶入门到精通】Vert.x 这是目前最快的 Java 框架
如果您搜索“[最佳网络框架]”,您可能会偶然发现Techempower基准测试,其中排名超过300个框架,在那里你可能已经注意到Vert.x是排名最高的。Vert.x是一个多语言 Web 框架,它支持[Java],Kotlin,Scala,Ruby和Javascript支持的语言之间的共同功能。无论语言如何,Vert.x都在Java虚拟机(JVM)上运行。模块化和轻量级,它面向微服务开发。Techempower基准测试衡量从[数据库]更新,获取和交付数据的性能。每秒提供的请求越多越好。在这种涉及很少计.原创 2022-03-12 17:32:45 · 1018 阅读 · 0 评论 -
【Java架构进阶入门到精通】一文快速了解Java集合框架
1. 简介JDK1.2 引入了 Java 集合框架,包含一组数据结构。与数组不同,这些数据结构的存储空间会随着元素添加动态增加。其中,一些支持添加重复元素另一些不支持,一些支持 null,一些能自动升序打印元素。所有这些数据结构在 java.util 包里,包含了 Collection、List、Set、Map、SortedMap 接口。这些接口的实现类有 LinkedList、TreeSet、ArrayList、HashMap 等。除了这些数据结构,java.util 包还提供了 Date、Grego原创 2022-03-12 17:29:52 · 177 阅读 · 0 评论 -
阿里架构师耗时一个月整理的《java架构师学习路线》太全了
很多新手和一些老程序员在学习java的时候都比较迷茫,不知道从哪里开始学起,这里就给大家整理了一份java开发和项目学习路线,比较系统全面,可参考这份大纲来安排学习计划,希望可以帮到你~2022年最新java后端架构师学习路线:这是我整理的一份最新的java学习和进阶大纲,里面有java学习的资料,9大java实战项目,一些java面试资料简历修改,如何短期跳槽,java进阶,架构师需要掌握一些什么,我都给大家整理好了,一起往下看吧!第一阶段:技术学完P6,技术上你能做到理解操作系统、网络、并发原创 2022-03-11 19:33:24 · 964 阅读 · 0 评论 -
自己整理的所有java知识点 + uni-app总结
1. 自己整理的所有java知识点 + uni-app总结(不断迭代中)1.1. Java整体知识架构详解之基础知识1.2. Java整体知识架构详解-之进阶篇一1.3. Java整体知识架构详解-之进阶篇二1.4. Java整体知识架构详解-之分布式架构1.5. Java整体知识架构详解-之微服务架构1.6. Java整体知识架构详解-之中间件深入分析2. uni-app鉴于很多人不知道uni-app是什么,这里我总结一句,编写一套代码可以跑在h5,android,ios,微原创 2022-03-10 18:33:25 · 196 阅读 · 0 评论 -
java进阶架构师,需要哪些技能?3个方面挺简单的嘛
大家好,我是梦塔,专注分享职场、产品、研发、管理等相关经验。今天的主题是:java进阶架构师,需要掌握哪些技能!我们用思维导图的方式来进行沟通。java进阶架构师:基础操作系统、网络协议(HTTP/S、网络状态、长连接、TCP、滑动窗口、网络参数、通信模型、序列化、爬虫、netty)、数据结构(队列、栈、链表、数组、字典、图、二叉树、平衡二叉树、红黑树、B+树、LSM树)、基本算法、数据库基础。想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、MySQL,原创 2022-03-10 17:58:58 · 2958 阅读 · 0 评论 -
【金九银十】终一搏,BAT、TMD名企精选面试题93道(附解析)
心态心态很重要!心态很重要!心态很重要!重要的事情说三遍,这一点我觉得是必须放到前面来讲。找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你很牛,你就一定能进你想进的公司,都是有一个概率在那。如果你基础好,项目经验足,同时准备充分,那么你拿到offer的概率就会比较高;相反,如果你准备不充分,基础也不好,那么你拿到offer的概率就会比较低,但是你可以多投几家公司,这样拿到offer的几率就要大一点,因为你总有运气好的时候。所以,不要惧怕面试,刚开始失败了没什么的,多投多尝试.原创 2022-03-09 17:50:54 · 661 阅读 · 0 评论 -
”金九银十“跳槽裁员季:Java程序员痛失工作,绝地逢生面进蚂蚁
一面:主要问的基础知识(考察对技术底层原理的掌握)1、Java线程同步都有哪几种方式,Synchronized和ReentrantLock的区别2、ReentrantLock底层是怎么实现的,怎么实现的超时获取锁。3、cas的原理,变量要用哪个关键字修饰,volatile实现的原理,进而引申到了java虚拟机的内存模型。4、介绍一下Java虚拟机内存模型,然后继续讨论volatile。5、线程池种类,哪四种 workqueue分别是什么6、反射讲一讲,主要是概念,都在哪需要反射机制,反射的性.原创 2022-03-09 17:47:44 · 159 阅读 · 0 评论 -
连肝两宿,做出这18张图,彻底让你学会“一致性哈希”二
三、新的问题来了,也许这就是人生吧由于公司内部很多人在使用这个 IM 工具。有些时候,为了方便,公司的客户还有一些合作方也用起了这个 IM。这让事情变得复杂了起来。起初,开发人员还是像往常一样,每当人们抱怨说收消息过慢的时候,他们就会加一台机器。最糟糕的是,公司的客户也会抱怨,他们发现 IM 有时候彻底不可用。这可不是小事情。公司内部人员的问题还可以内部沟通解决。但是公司客户的问题,大意不得,因为这关系到公司产品的名誉。那么,这到底是怎么一回事呢?原来,根本原因还在于每次修改完配置规则后的重启服务.原创 2022-03-09 17:38:47 · 102 阅读 · 0 评论 -
连肝两宿,做出这18张图,彻底让你学会“一致性哈希”一
前言当架构师大刘看到实习生小李提交的记账流水乱序的问题的时候,他知道没错了:这一次,大刘又要用一致性哈希这个老伙计来解决这个问题了。嗯,一致性哈希,分布式架构师必备良药,让我们一起来尝尝它。一、满眼都是自己二十年前的样子,让我们从哈希开始在 N 年前,互联网的分布式架构方兴未艾。大刘所在的公司由于业务需要,引入了一套由 IBM 团队设计的业务架构。这套架构采用了分布式的思想,通过 RabbitMQ 的消息中间件来通信。这套架构,在当时的年代里,算是思想超前,技术少见的黑科技架构了。但..原创 2022-03-09 17:37:29 · 2774 阅读 · 0 评论 -
kafka3.x原理详解看这篇就够了
一、概述(一)、kafka的定义1、定义1)kafka传统的定义:kafka是一个分布式的基于发布/订阅模式的消息队列,主要用于大数据实时处理领域2)kafka最新的定义:kafka是一个开源的分布式事件流平台(event stream platform),主要用高性能数据管道,流分析,数据集成和关键任务等领域2、消息队列目前市面上大部分公司采用的消息队列主要有kafka,activeMQ,rabbitMQ,rocketMQ等。kafka作为消息队列,主要应用于大数据场景下,而在Javaee开发原创 2022-03-08 17:45:55 · 674 阅读 · 0 评论 -
再过半小时,你就能明白kafka的工作原理了
为什么需要消息队列周末无聊刷着手机,某宝网APP突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”。买一送一还有这种好事,那我可不能错过!忍不住立马点了去。于是选了两个最新款,下单、支付一气呵成!满足的躺在床上,想着马上有女朋友了,竟然幸福的失眠了…… 第二天正常上着班,突然接到快递小哥的电话: 小哥:“你是xx吗?你的女朋友到了,我现在在你楼下,你来拿一下吧!”。 我:“这……我在上班呢,可以晚上送过来吗?“。 小哥:“晚上可不行哦,晚上我也下班了呢!”。 于是两个原创 2022-03-08 17:42:41 · 133 阅读 · 0 评论 -
【Java架构师入门到精通】分布式架构原理解析三
6.2. 缓存穿透缓存穿透是指:用户查询的数据,在数据库没有,自然在缓存中也不会有。这样就导致用户查询的时候,在缓存中找不到,每次都要去数据库再查询一遍,然后返回空(相当于进行了两次无用的查询)。这样请求就绕过缓存直接查数据库,这也是经常提的缓存命中率问题。当在流量较大时,出现这样的情况,一直请求 DB,很容易导致服务挂掉。解决方案:在封装的缓存 SET 和 GET 部分增加个步骤,如果查询一个 KEY 不存在,就以这个 KEY 为前缀设定一个标识 KEY;以后再查询该 KEY 的时候,先查询标识原创 2022-03-07 17:18:42 · 247 阅读 · 0 评论 -
【Java架构师入门到精通】分布式架构原理解析二
5. 共识性问题5.1. Paxos用于达成共识性问题,即对多个节点产生的值,该算法能保证只选出唯一一个值。主要有三类节点:提议者(Proposer):提议一个值;接受者(Acceptor):对每个提议进行投票;告知者(Learner):被告知投票的结果,不参与投票过程。算法需要满足 safety 和 liveness 两方面的约束要求(实际上这两个基础属性是大部分分布式算法都该考虑的):safety:保证决议结果是对的,无歧义的,不会出现错误情况。决议(value)只有在被 pr原创 2022-03-07 17:18:05 · 492 阅读 · 0 评论