程序员
文章平均质量分 85
A极客精神
这个作者很懒,什么都没留下…
展开
-
elasticsearch集群安装+安全验证+kibana安装,java线程安全面试
| node_name | ip | http port | transport port || — | — | — | — || es01 | docker宿主机ip | 9205:9200 | 9305: 9300 || es02 | docker宿主机ip | 9206:9200 | 9306: 9300 || es03 | docker宿主机ip | 9207:9200 | 9307: 9300 |kibana : 5601:5601执行以下命令启动centos容器并暴露相应端口(使用原创 2021-12-14 09:49:06 · 415 阅读 · 0 评论 -
Java中的容器,java面试spring框架
/**@Author: Ly@Date: 2020-08-13 08:46*/public class ListFeatures {public static void main(String[] args) {List li = new ArrayList();for(int i = 0; i < 10; i++)li.add(i);Integer h = 10;li.add(h); //将指定的元素追加到此列表的末尾li.add(1,0); //原创 2021-12-11 11:25:25 · 331 阅读 · 0 评论 -
Java中的回调机制,这篇给你整的明明白白的,一招让你拿下seata分布式事务框架
回调的思想是:类A的a()方法调用类B的b()方法类B的b()方法执行完毕主动调用类A的callback()方法通俗而言: 就是A类中调用B类中的某个方法C, 然后B类中反过来调用A类中的方法D, D这个方法就叫回调方法, 这样子说你是不是有点晕晕的, 其实我刚开始也是这样不理解, 看了人家说比较经典的回调方式:class A实现接口CallBack callback——背景1class A中包含一个class B的引用b ——背景2class B有一个参数为callb.原创 2021-12-11 11:24:00 · 477 阅读 · 0 评论 -
Java中当对象不再使用时,不赋值为null会导致什么后果,java基础知识面试重点总结
public static void main(String[] args) {if (true) {byte[] placeHolder = new byte[64 * 1024 * 1024];System.out.println(placeHolder.length / 1024);placeHolder =&nbs原创 2021-12-11 11:21:46 · 386 阅读 · 0 评论 -
《重学安卓》两周年,kotlin协程处理并发
但十分令人遗憾的是,本是从 “实事求是” 出发概括的术语,却频繁被人拿去 “点缀文章” 和 “挂羊头卖狗肉”,这些滥用行为,无形中扭曲和破坏了术语 “实事求是” 的形象,所以过去两年里,我们积极地举报 “培训机构的洗稿软文”,以及在相关文章的评论区补充参考文献来源,非常感谢小伙伴们的主动反馈。本质概括一览基于深度思考,我们确立下来并广泛传播的 “本质概括” 包括但不限于:Jetpack 架构组件本质:Lifecycle 的本质是解决 “生命周期管理” 的一致性问题LiveData 的本质是解决原创 2021-12-10 19:06:08 · 1622 阅读 · 0 评论 -
“消失”的Android技术博主们现在如何,framework框架
希望看过文章,能有同感的朋友也能多思考一下。最近因为疫情的关系,相信很多国内的小伙伴都逐渐开始了解到在家上班的体验。在美国基本上work from home在IT公司里面算是比较常见的现象了。一般大厂每个周都会有一天被划为No Meeting Day,说只是不开会日,但通常都会被大家当成在家办公日。不开会嘛,那我在家和在办公室也没区别不是。也正是因为闲的时间多了,看文章的时间也多了。我是个不喜欢看书,更倾向于看碎片化文章的人,没事翻翻掘金,翻翻Android Weekly,是我上厕所蹲坑时候的首选项。原创 2021-12-10 19:03:44 · 1959 阅读 · 1 评论 -
“吹Kotlin协程的,可能吹错了,2021最新百度、头条等公司Android社招面试题目
Kotlin协程,现在已经成为了面试甚至是工作中一个非常火的东西。本人在刚开始了解Kotlin协程的时候,断断续续看了网上不少文章,用长篇大论把Kotlin协程描述的非常玄乎,但是看完后还是依然云里雾里,所以决定来写一篇关于协程的文章,希望能够帮助大家能够更快的上手Kotlin协程.注意:如果没有特殊提及,文中所有“协程”均代表“Kotlin协程”为什么要学习Kotlin协程?(官方版)现在Android技术栈上的新东西层出不穷,kotlin、jetpack、flutter等等。很多人是为了准备面试原创 2021-12-10 19:01:18 · 2026 阅读 · 0 评论 -
Java性能优化之编程技巧总结,成为一名合格Java架构师
e.printStackTrace();}}这段代码我运行时间是 27211 ms。如果将try-catch移到循环体外,那么就能提升系统性能,如下代码public void test() {int a = 0;for (int i = 0; i < 1000000; i++) {try {a = a + 1;System.out.println(i);} catch (Exception e) {e.printStackTrace();}}}运行耗时 15647 ms。原创 2021-12-10 15:12:11 · 195 阅读 · 0 评论 -
Java并发(三),孔浩java视频百度云盘
程序顺序规则:一个线程中的每个操作,该线程中的任意后续动作都必须可以看到前面操作的结果,所以happens-before于该线程的任意后续动作监视器锁规则:当一个锁解锁后,后面的加锁动作都要可以看到解锁动作,所以happens-before于随后对这个锁的加锁volatile变量规则:volatile实现了变量的线程可见性,所以对这个变量的操作都要被后续可见,所以happens-before于任意后续对这个volatile域的读传递性:如果B可见A,即A可以happens-before..原创 2021-12-10 15:07:40 · 134 阅读 · 0 评论 -
java并发锁ReentrantLock源码分析一 可重入支持中断锁的实现原理
问题1:一个线程用lock方法申请锁而被阻塞后,调用线程的interput方法,会发生什么情况,能中断锁的获取吗?问题2:什么是CLH算法,RenntrantLock针对CLH算法做了哪些变化。问题3:Node.CANCEL状态的节点在什么时候会删除。1、ReentrantLock#lock 方法详解=========================如下摘录自 ReentrantLock.NonFairSyncfinal void lock() {if (compareAndSet原创 2021-12-10 15:05:29 · 381 阅读 · 0 评论 -
Java并发进阶:阻塞队列ArrayBlockingQueue源码解析,java微服务面试
private static final long serialVersionUID = -817911632652898426L;// 底层存储数据的定长数组final Object[] items;// 移除操作的index,可以理解为队头位置int takeIndex;// 添加操作的index,可以理解为队尾位置int putIndex;// 元素个数int count;// 独占重入锁final ReentrantLock lock;// 等待takes的条件对象priva原创 2021-12-10 15:03:45 · 137 阅读 · 0 评论 -
Java并发关键字-final,开发者必备的顶级Java开发工具
static class Person {private int age;private int height;public Person(int age, int height) {this.age = age;this.height = height;}@Overridepublic String toString() {return “Person{” +“age=” + age +“, height=” + height +‘}’;}}}当我们对final修饰的引用数原创 2021-12-10 15:01:38 · 164 阅读 · 0 评论 -
Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day38,我崩溃了
本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。面试题1:当你发现一条SQL很慢,你的处理思路是什么?==========================================================================================当你发现BUG怎么处理?相信看原创 2021-12-10 14:57:59 · 1094 阅读 · 0 评论 -
webview最全面详解(一)了解官方文档,Android攒了一个月的面试题及解答
Uri uri = Uri.parse(“https://www.example.com”);Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);See Intent for more information.To provide a WebView in your own Activity, include a in your layout, or set the entire Activity win原创 2021-12-09 15:07:34 · 421 阅读 · 0 评论 -
WebView交互架构项目实战(三),一年后斩获腾讯T3
jsStr = JsjjJSHelper.getResInputStream(url);if (url.endsWith(".png")) {response = getWebResourceResponse(url, “image/png”, “.png”);} else if (url.endsWith(".gif")) {response = getWebResourceResponse(url, “image/gif”, “.gif”);} else if (url.endsWith(".原创 2021-12-09 15:05:09 · 790 阅读 · 0 评论 -
Java岗大厂面试百日冲刺【Day45】,数据库集群架构
面试题2:怎么理解阻塞和非阻塞面试题3:怎么理解并发和并行每日小结本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。面试题1:什么是线程阻塞?什么情况会导致线程阻塞=================================================================..原创 2021-12-09 14:52:41 · 357 阅读 · 0 评论 -
Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day22,linux内核视频教程
优秀问答摘自:https://ask.csdn.net/questions/1101634两者的共同点:都是用来协调多线程对共享对象、变量的访问都是可重入锁,同一线程可以多次获得同一个锁都保证了可见性和互斥性两者的不同点:ReentrantLock 显示的获得、释放锁,synchronized 隐式获得释放锁;ReentrantLock 可响应中断、可轮回,synchronized 是不可以响应中断的,为处理锁的不可用性提供了更高的灵活性;ReentrantLoc原创 2021-12-09 14:50:29 · 479 阅读 · 0 评论 -
Java实现链式存储的二叉查找树(递归方法),Java基础视频
public BinarySearchTree(){root = null;}//用一个数组去构建二叉查找树public TreeNode buildBST(Integer[] array){if(array.length == 0){return null;}else{root = null; //初始化树为空树for(int i=0; i<array.length; i++){ //依次将每个元素插入root = insertNode(root,array[i]);}re原创 2021-12-09 14:48:17 · 133 阅读 · 0 评论 -
Java实现单链表、栈、队列三种数据结构,mysql数据恢复原理
1、在我们数据结构中,单链表非常重要。它里面的数据元素是以结点为单位,每个结点是由数据元素的数据和下一个结点的地址组成,在java集合框架里面 LinkedList、HashMap(数组加链表)等等的底层都是用链表实现的。2、下面是单链表的几个特点:数据元素在内存中存放的地址是不连续的:单链表的结点里面还定义一个结点,它里面保存着下一个结点的内存地址,在实例化对象的时候,jvm会开辟不同内存空间,并且是不连续的。添加效率高:添加一个元素时,先找到插入位置的前一个,只需要将1,2个元素的连接原创 2021-12-09 14:45:52 · 116 阅读 · 0 评论 -
Java实现Kafka生产者和消费者的示例,springboot视频教程百度网盘
Kafka简介Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。方式一:kafka-clients引入依赖在pom.xml文件中,引入kafka-clients依赖:org.apache.kafkakafka-clients2.3.1生产者创建一个KafkaProducer的生产者实例:@Configurationpublic class Config {public f原创 2021-12-09 14:43:40 · 1150 阅读 · 0 评论 -
Java实现Kafka生产者和消费者的示例(1),mysqlsql语句面试题
RecordMetadata recordMetadata = null;try {//将消息发送到Kafka服务器的名称为“one-more-topic”的Topic中recordMetadata = kafkaProducer.send(new ProducerRecord<>(“one-more-topic”, uuid)).get();log.info(“recordMetadata: {}”, recordMetadata);log.info(“uuid: {}”, uuid原创 2021-12-09 14:41:57 · 1033 阅读 · 0 评论 -
Java学习笔记——内部类,java并发编程基础
}}在这里Outer是外部类,Inner是内部类,可以看出来Inner类在Outer类的里面内部类可以分为四种:成员内部类、局部内部类、匿名内部类、静态内部类按照内部类在类中定义的位置不同,可以分为如下两种格式:成员位置(成员内部类)局部位置(局部内部类)class Outer2{//定义在成员位置,叫做成员内部类class Inner{//这是成员内部类}public void show(){//定义在局部位置,叫做局部内部类class Inner2{//这是局部内部类}原创 2021-12-09 14:39:50 · 509 阅读 · 0 评论 -
Java基础24~正则表达式,2021最新网易Java面经
| n? | 匹配零个或者1个n的字符串 || n{x} | 匹配包含x个n的序列字符串 || n{x《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享,y} | 匹配至少x个,最多y个n的字符串 || n{x,} | 匹配至少x个的字符串 || n$ | 匹配以n结尾的字符串 || ^n | 匹配以n开头的字符串 || ?=n | 匹配其后紧接指定的n字符串 |原创 2021-12-09 14:36:11 · 67 阅读 · 0 评论 -
java 枚举,android零基础开发
@param name - The name of this enum constant, which is the identifier used to declare it.@param ordinal - The ordinal of this enumeration constant (its position in the enum declaration, where the initial constant is assigned ..原创 2021-12-08 18:37:46 · 726 阅读 · 1 评论 -
Java架构师全路线总结+高频面试题(2021年最新版,java语言程序设计教程第二版
在高薪行业这个背景的庇护下,程序员不用成为架构师就可以拥有比较舒适的生活条件,所《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享以在“成为架构师”的这个愿景下,程序员群体并没有展现出很高的热情。经常会有很多人说:“不是谁都可以成为架构师的。”“我们公司用的就是那点东西,不需要会太多。”“技术够用就行了。”…其实他们说的不错,但我也总觉得,程序员可以是一个非常热血的职原创 2021-12-08 15:24:23 · 306 阅读 · 0 评论 -
Java异常面试题(含答案),java三个技术平台
3.finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4.fina《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享lly中最好不要包含return,否则程序会提前退出,返回值不是try或catch原创 2021-12-08 15:22:11 · 92 阅读 · 0 评论 -
Java异常面试题(2020最新版),java分布式系统面试题
private static void readFile(String filePath) throws MyException {try {// code} catch (IOException e) {MyException ex = new MyException(“read file failed.”);ex.initCause(e);throw ex;}}捕获异常在一个 try-catch 语句块中可以捕获多个异常类型,并对不同类型的异常做出不同的处理private stat原创 2021-12-08 15:20:00 · 205 阅读 · 0 评论 -
Java开源生鲜电商平台-支付模块的设计与架构(源码可下载)
//买家支付宝用户号String buyerId=this.getNotNull(“buyer_id”, request);//买家支付宝账号String buyerLogonId=this.getNotNull(“buyer_logon_id”, request);//交易状态String tradeStatus=this.getNotNull(“trade_status”, request);//订单金额,精确到小数点后2位String money=getNotNull(“total_am原创 2021-12-08 15:17:40 · 316 阅读 · 0 评论 -
Java并发:深入浅出AQS之独占锁模式源码分析,狂神说java进阶路线
Node.EXCLUSIVE), arg))selfInterrupt();}代码虽然短,但包含的逻辑却很多,一步一步看下:1、首先是调用开发人员自己实现的 tryAcquire() 方法尝试获取锁资源,如果成功则整个 acquire()方法执行完毕,即当前线程获得锁资源,可以进入临界区。2、如果获取锁失败,则开始进入后面的逻辑,首先是 addWaiter(Node.EXCLUSIVE)方法。来看下这个方法的源码实现addWaiter(Node)此方法用于将当前线程加入到等待队列的队尾,并返原创 2021-12-08 15:15:29 · 379 阅读 · 0 评论 -
Java并发(三),java程序设计教程答案
那happens-before有什么规则了程序顺序规则:一个线程中的每个操作,该线程中的任意后续动作都必须可以看到前面操作的结果,所以happens-before于该线程的任意后续动作监视器锁规则:当一个锁解锁后,后面的加锁动作都要可以看到解锁动作,所以happens-before于随后对这个锁的加锁volatile变量规则:volatile实现了变量的线程可见性,所以对这个变量的操作都要被后续可见,所以happens-before于任意后续对这个volatile域的读传递性:如果B原创 2021-12-08 15:13:45 · 91 阅读 · 0 评论 -
Java并发(三)(1),上岸蚂蚁金服
happens-before《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享happens-before是一种关系,在JMM中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在happens-before关系,注意,这里的两个操作既可以是不同线程,也可以是同一个线程那happens-before有什么规则了程序顺序规则:一个线程中的每个操作原创 2021-12-08 15:11:38 · 331 阅读 · 0 评论 -
Java并发体系,java拦截器实现原理
多线程环境下的理论参考模型为程序提供了极强的内存可见性保证特性一个线程中的所有操作必须按照程序的顺序来执行所有线程都只能看到一个单一的操作执行顺序,不管程序是否同步每个操作都必须原子执行且立刻对所有线程可见happens-beforeMM中最核心的理论,保证内存可见性在JMM中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在happens-before关系。理论如果一个操作happens-before另一个操作,那么第一个操作的执行结果..原创 2021-12-08 15:10:13 · 264 阅读 · 0 评论 -
java实现简单窗口小游戏“扫雷”,花了8天终于把JVM调优弄明白了
import java.awt.event.ActionListener;import java.util.Random;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.*;public class saolei implements ActionListener {JFrame frame=new JFrame(“扫雷小游戏”);JButton reset=new JButton(“重来”);C原创 2021-12-08 15:07:58 · 114 阅读 · 0 评论 -
[译] 从 SQLite 逐步迁移到 Room,从草根到百万年薪程序员的十年风雨之路
如果你已经有每张表数据的 model 对象类,就只用添加 @Entity, @PrimaryKey 和 @ColumnInfo 的注解。@Entity(tableName = “users”)public class User {@PrimaryKey@ColumnInfo(name = “userid”)private int mId;@ColumnInfo(name = “username”)private String mUserName;public User(i原创 2021-12-07 14:59:22 · 171 阅读 · 0 评论 -
webRTC(二),2021年Android大厂面试分享
}).listen(8081,‘0.0.0.0’);注意记得在服务器安全组打开服务器端口,并开启防火墙执行:forever start server.js 启动服务器(forever stop server.js 关闭服务器)安装forever :sudo npm install forever -g效果二、搭建https服务器‘use strict’var https =require(‘https’);var fs = require(‘fs’);var opt原创 2021-12-07 14:54:33 · 557 阅读 · 0 评论 -
Kotlin(2)-泛型与集合,java项目经验面试题
那就必须使用到上下边界的关键字 extendsextends 在泛型中表示指定上界,也就是说,实际类型都必须在Fruit之下(包括Fruit自己)。那么既然apple也是Fruit的子类,那么赋值就可以做到。PECS法则刚才说到了上边界 extends。而下边界是 super关键字Panzi<? extends Fruit> extendsFruit = new Panzi<>(new Apple());Panzi<? super Fruit> supe原创 2021-12-07 11:27:15 · 116 阅读 · 0 评论 -
Kafka消费组核心API与核心参数运行机制剖析,面向Java开发者的复习指南
1.1 基础功能参数group.id消费组名称。client.id客户端标识id,默认为consumer-序号,在实践中建议包含客户端IP,在一个消费组中不能重复。bootstrap.serversbroker服务端地址列表。client.dns.lookup客户端寻找bootstrap地址的方式,支持如下两种方式:resolve_canonical_bootstrap_servers_only这种方式,会依据bootstrap.servers提供的主机名(hostn原创 2021-12-07 11:25:38 · 234 阅读 · 0 评论 -
Kafka 的简介与架构,java高级程序员面试宝典
1.4 发布-订阅消息传递在发布-订阅消息系统中,消息被持久化到一个topic中。与点对点消息系统不同的是,消费者可以订阅一个或多个topic,消费者可以消费该topic中所有的数据,同一条数据可以被多个消费者消费,数据被消费后不会立马删除。在发布-订阅消息系统中,消息的生产者称为发布者,消费者称为订阅者。该模式的示例图如下:![](https://img-blog.csdnimg.cn/img_conv《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs原创 2021-12-07 11:23:26 · 759 阅读 · 0 评论 -
JVM(三),2021最新阿里Java面试流程
静态成员变量赋默认值3. resolutionclassLoader源码中loadClass第二个参数boolean reolve,是否进行解析。将类、方法、属性等符号引用解析为直接引用。常量池中的各种符号引用解析为指针、偏移量等内存地址的直接引用(符号引用:常量池中有一个类的名字,实际上这个类可能是在内存中的另一个片区域,被这个名字指向,当使用的时候我们写的字符指向这个名字,这个名字指向那一片真正的区域)解析就是让写的字符直接指向那一片类真正存在的内存空间。二、Ini.原创 2021-12-07 11:21:14 · 89 阅读 · 0 评论 -
JSP的四种作用域与九大内置对象,高级java工程师薪资
===================================================================JSP的四大作用域:page、request、session、applicationpage(本页面):代表变量只能在当前页面上生效。request(两个页面之间):代表变量能在一次请求中生效,一次请求可能包含一个页面,也可能包含多个页面,比如页面A请求转发到页面Bsession(服务端和客户端交互期间):代表变量能在一次会话中生效,基本上就是能在web项原创 2021-12-07 11:18:54 · 187 阅读 · 0 评论