自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 【每日蓝桥(3),Java程序设计基础知识总结

标题:幸运数=============================================================================幸运数是波兰数学家乌拉姆命名的,它采用与生成素数相同的“筛法”生成首先从1开始写出自然数1、2、3、4、5、6…1就是第一个幸运数我们从2这个数开始,把所有序号能被2整除的项删除,变为:1_3_5_7_9…最后的内容在开头跟大家分享的时候我就说,面试我是没有做好准备的,全靠平时的积累,确实.

2021-08-10 21:45:40 171

原创 【每日蓝桥(1),Java知识体系大纲

标题:分糖果=============================================================================有n个小朋友围坐成一圈,老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果的一半给左手边的孩子,一轮分糖后,拥有奇数颗糖果的孩子由老师补给1个糖果,从而变成偶数,反复进行这个游戏,直到所有的小朋友的糖果数都相同为止。你的任务就是预测在已知的初始糖果情形下,老师一共需要补.

2021-08-10 21:44:29 114

原创 【数据结构与算法 9,全网最全原理讲解

二、基本思路1、第一个皇后先放第一行第一列;2、第二个黄瓜放在第二行第二列、然后判断是否OK,如果不OK,继续放在第二列、第三列、依次把所有列都放完,找到一个合适的;3、继续第三个皇后,还是第一列、第二列…直到第八个皇后也能放在一个不冲突的位置,就算找到了一个正确解;4、当得到一个正确解时,在栈回退到上一个栈时,就会开始回溯,即将第一个皇后,放到第一列的所有正确解,全部得到;5、然后回头继续第一个皇后放第二列,后面继续循环执行1、2、3、4的步骤;三、代码实例package ...

2021-08-10 21:43:24 109

原创 【数据结构与算法 5,2021BAT大厂Java社招最全面试题

public void setNo(int no) { this.no = no;}public Boy getNext() { return next;}public void setNext(Boy next) { this.next = next;}}### 2、环形链表方法类package com.guor.linkedlist.josepfu;public class CircleSingleLinkedList {

2021-08-10 21:42:20 154

原创 【数据结构与算法 4,Java面试你必须要知道的那些知识

//定义一个辅助变量HeroNode cur = head.next;while(cur != null) { length++; cur = cur.next;}return length;}**二、查找单链表的第K个节点**-----------------//思路//1、编写一个方法接收,接收head节点,同时接收一个index//2、index表示倒数第index个节点//3、先把链表从头到尾遍历,得到链表的总的长度//4、得到size后,我

2021-08-10 21:41:05 82

原创 【数据结构与算法 2,关于Redis主从节点数据过期一致性的思考

//判断队列是否满public boolean isFull() { return (rear+1) % maxSize == front;}//判断队列是否为空public boolean isEmpty() { return rear == front;}//添加数据到队列public void addQueue(int n) { //判断队列是否满 if(isFull()) { System.out.println("判断队列满"); r

2021-08-10 21:39:56 58

原创 【数据库连接常见报错及解决,传智播客Java就业班视频教程

这个情况是在开发中经常遇到的问题,很多时候是由于我们书写不规范造成的,数据库连接时的user一般为root,password一般为admin(当然也可能是你自己设定的)对于jdbcUrl,标准的书写是:jdbc:mysql://localhost:3306/数据库名其中:jdbc:mysql:// 是指JDBC连接方式;localhost: 是指你的本机地址;3306 :SQL数据库的端口号;有很多小伙伴说这个不是特别好记,经常记不住,我在这里教给大家一个对比记忆法。这个

2021-08-10 21:38:44 129

原创 【数据库系统设计,Java笔试题编程题

* * [简单了解 autocommit](about:blank#_autocommit_244) * [(1)分别以root和自己的用户连接MySQL服务器,并分别输入命令SET AUTOCOMMIT=0;](about:blank#1rootMySQLSET_AUTOCOMMIT0_260) * [(2)root将表SPJ中供应商s1所供应的零件数量(qty)都增加50,此即事务1。](about:blank#2rootSPJs1qty501_275) *

2021-08-10 21:37:39 284

原创 小米Java校招面试,2020-09-24

1、内存结构内存是计算机的重要部件之一,它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。JVM的内存结构规定Java程序在执行时内存的申请、划分、使用、回收的管理策略,通说来说JVM的内存管理指运行时数据区这一大块的管理。2、线程运行JVM中一个应用是可以有多个线程并行执行,线程被一对一映射为服务所在操作系统线程,调度在可用的CPU上执行,启动时会创建一个操作系统线程;当该线程终止时,这个操作系统线程也会被回收。在虚拟机启动运行时,会

2021-08-07 15:14:14 238

原创 小码农也有大梦想,Android屏幕适配-重点盘点

正文android需要做屏幕适配的原因关键字:android碎片化android面世以来,google开源了android系统,各家厂商各自为政,导致屏幕尺寸没有统一标准,屏幕的宽高比各种各样,屏幕密度也是各个厂家攀比的资本, 导致Android开发者想要用一套代码来适配所有的设备变得格外的困难,虽然 谷歌出了 dp单位来替代px,但是 dp依然有它无法完全适配的地方。这个也就是需要我们利用其他手段去 完成适配的地方。###面试点Q: 关于屏幕适配,为什么 有了dp单位,依然要适配呢?A:

2021-08-07 15:12:54 145

原创 小白必看,Java虚拟机的历史

虚拟机始祖:Sun Classic1996年1月23日,Sun发布了JDK 1.0,带有自己的虚拟机Classic VM。然而,该虚拟机具有仅使用纯解释器来执行Java代码的特性。如果要使用JIT编译器,则必须使用插件。提示:执行代码可以分为编译执行和解释执行。解释执行指的是在解释时运行代码。编译执行是指在执行之前的编译。但是如果插入了JIT编译器,JIT编译器将完全替换虚拟机的执行系统,并且解释器将不再工作。简单地说,在Sun Classic虚拟机中,解释器和编译器不能共存。即使使用插件JIT编

2021-08-07 15:11:31 235

原创 小白勿进,高效解答二进制数“多异或

在数学中异或和同或常用于命题的判断,而在计算机中则常用于二进制数之间的运算,异或运算====关于异或运算有以下的规定:0⊕0=0 0同0异或,结果为00⊕1=1 0同1异或,结果为11⊕0=1 1同0异或,结果为11⊕1=0 1同1异或,结果为0即两个逻辑变量相异,输出才为1也可以用两句话表示:“异为1,同为0”多异或连续运算=======而在计算机网络中真正对其进行使用的时候,两个二进制数之间的简单异或运算并不多见,更多的则是多异或连续运算。首先看几个多异或连续运算的式子:1⊕

2021-08-07 15:10:09 1062

原创 小白也能看懂!清华学霸整理的Java知识点手册,让你从0到1

这个大家也熟悉,就是 Redis 与 Memcached 之类,甚至也可以自己单独写一个程序来专门存放缓存数据,供其它程序远程调用。这里先多说几句关于 Redis 和 Memcached 该怎么选择的思路。对资源(CPU、内存等)利用率格外重视的话可以使用Memcached ,但程序在使用的时候需要容忍可能发生的数据丢失,因为纯内存的机制。如果无法容忍这单,并对资源利用率也比较豪放的话就可以使用Redis。而且Redis的数据库结构更多, Memcached 只有 key-value,更像是一个 NoS

2021-08-07 15:08:49 97

原创 实战分析,薪酬缩水,(1)

动态规划的特点索引结构?为什么使用B+索引CAS原理?用CAS实现 两个线程给同一个变量赋值为什么 Redis 需要把所有数据放到内存中mysql的主从复制机制将阿拉伯数字转换成中文数字。如(int)123456->十二万三千四百五十六这一面自我感觉比一面好很多,面试官态度很和蔼,就让我没有那么的紧张,让我稍等一下,我也不知道下一面是情况,或者有没有下一面。美团三面自我介绍介绍一个你觉得难的项目说一下sql做了什么优化项目中如何使用的redisredis如何保持和my.

2021-08-07 15:07:29 94

原创 实战分析,工作多年,关于线程数存在的误区(1)

上下文切换的过程是需要时间的;现在我们再来看一下上面的问题,我们小伙伴们再看一下是哪个方案快呢?是不是有些小伙伴们会说方案一,因为不需要线程切换。先不急,再往下看为什么要多线程按照上面的说法,有线程的上下文切换耗时,那么为什么需要多线程呢?小伙伴会不会感觉很乱,怎么回事?小伙伴想想在我们真实业务中,我们是什么流程?上图的流程:1、先发起网络请求2、web服务器解析请求3、请求后端的数据库获取数据4、获取数据后,进行处理5、把处理结果放回给用户这个是我们处理业务的时候,常规的请求流程

2021-08-07 15:06:14 90

原创 学Java看这就完事了,BIO和NIO有啥区别?为啥要使用-Netty

}public static void main(String[] args) { HelloClient helloClient = new HelloClient(); helloClient.send(new Message("content from client"), "127.0.0.1", 6666); System.out.println("client receive message:" + message.getContent());}}**发送的消

2021-08-07 15:04:51 177

原创 推荐:如何优雅地关闭JVM?看看钩子函数如何一步实现

public void start(){  Runtime.getRuntime().addShutdownHook(new Thread(()->     System.out.println(“钩子函数被执行,可以在这里关闭资源”)  )); } public static void main(String[]&nbsp

2021-08-05 16:43:13 120

原创 推荐学习!深度讲解Java多线程开发—电子表项目实现(2)

4、启用线程实现对时间的修改5、线程同步实现秒表功能6、运行并进行调试Hello,大家好,我是灰小猿!今天和大家分享一个使用Java多线程开发的电子表项目,可以实现电子表中时间的实时显示,修改以及秒表的功能。Java电子表设计的设计顺序为从前端界面到后端类及线程的设计,之后将前后端相结合而成。以下是电子表的开发过程:1、前端界面的设计=========电子表的前端界面设计依据JFrame窗体和Container容器,采用绝对定位的方法对时间显示、时间修改、秒表显示等控件进行合理布局设计,

2021-08-05 16:42:03 199

原创 推荐一个GitHub项目!分布式系统中ACID和CAP有什么区别(1)

一个事务是指对数据库状态进行改变的一系列操作变成一个单个序列逻辑元操作,数据库一般在启动时会提供事务机制,包括事务启动 停止 取消或回滚。但是上述事务机制并不真的实现“事务”,一个真正事务应该遵循ACID属性,ACID事务才真正解决事务,包括并发用户访问同一个数据表记录的头疼问题。ACID的定义:Atomic原子性: 一个事务的所有系列操作步骤被看成是一个动作,所有的步骤要么全部完成要么一个也不会完成,如果事务过程中任何一点失败,将要被改变的数据库记录就不会被真正被改变。Consistent一致性

2021-08-05 16:40:59 174

原创 字节跳动大神讲座:三面腾讯,已拿offer(1)

腾讯一面(3.13电话面)自我介绍介绍项目以及项目遇到的难点java的hashmap是否安全?hashmap、hashtable、concurrenthashmap的区别、底层和实现mysql索引的底层实现jvm垃圾回收机制tcp、udp区别和适用场景tcp三次握手、四次挥手,为什么挥手不能只有三次线程和进程的区别进程通信的方式有哪些堆是线程共有还是私有,堆是进程共有还是私有,栈呢了解过协程吗(我:携程???不了解呜呜呜)mysql查询优化快速排序的时间复杂度、原理(口述算法)

2021-08-05 00:10:28 108

原创 字节跳动大神讲座:Kafka分区管理(优先副本的选举

现在我们需要将原先分布在broker 1-3节点上的分区重新分布到broker 1-4节点上,借助kafka-reassign-partitions.sh工具生成reassign plan,不过我们先得按照要求定义一个文件,里面说明哪些topic需要重新分区,文件内容如下:itcast@Server-node:/mnt/d/kafka-cluster/kafka-1$ cat reassign.json { "topics":[{"topic":"heima-par"}], "version":1

2021-08-05 00:09:29 182

原创 字节跳动今日学习内容:【Android开发

实现OnClickListener接口接下来我们就对这三种方法进行一一讲解:1、在xml中对onclick()进行指定方法===========================如下在xml文件下对button按钮的属性进行定义,对onclick属性指定方法名,如在这里方法名为“btn_1” <Button android:id="@+id/btn_1" android:layout_width="wrap_content" androi

2021-08-05 00:08:09 205

原创 字节跳动Java高级工程师:IBM大面积辞退40岁+的员工(1)

2017年,华为要裁掉、清退34 岁以上的、主要在中国的运营维护人员,因为他们的工作大部分会被自动化软件取代。一、公务员都不要35岁以上的,何况大公司这让很多人感到惶恐,现在职场上有一种现象:很多用人单位会在招聘信息上明确标注,年龄需在35岁以下。为什么有经验、有人脉的职场中年人会如此遭“嫌弃”呢?首先,思想落后。日新月异的时代需要不断进步的人,而不是守着自己那点老经验的“职场前辈”。的确,现在很多职场人无论年龄多大,一直追随着时代的脚步,坚持做一个“老顽童”。但又有多少人,放弃了对新时代的探索,

2021-08-05 00:06:56 1806

原创 字节跳动Java岗面试题;Java面试知识点解析(2)

类加载器负责读取 Java 字节代码,并转换成 java.lang.Class类的一个实例。每个这样的实例用来表示一个 Java 类。通过此实例的 newInstance()方法就可以创建出该类的一个对象。实际的情况可能更加复杂,比如 Java 字节代码可能是通过工具动态生成的,也可能是通过网络下载的。面试官:Java 虚拟机是如何判定两个 Java 类是相同的?答:Java 虚拟机不仅要看类的全名是否相同,还要看加载此类的类加载器是否一样。只有两者都相同的情况,才认为两个类是相同的。即便是同样的字节代

2021-08-05 00:05:50 214

原创 字节Java高级岗:IDEA工程-数据库连接-mysql连接

mysqlmysql-connector-javaruntime 在mysql5中,在项目创建后由指定添加的依赖版本:<groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.37</version><scope>runtime</scope> spring.

2021-08-05 00:04:40 217

原创 字节Java高级岗:2020还有必要学JSP吗?

out.write("<html>\r\n"); out.write("<head>\r\n"); out.write(" <title>简单使用JSP</title>\r\n"); out.write("</head>\r\n"); out.write("<body>\r\n");String s = "HelloWorda";out.println(s); out.write("\r\n");...

2021-08-05 00:03:23 110

原创 你不知道这份超详细JVM内存结构?论程序员成长的正确姿势

业界常用的服务注册与发现组件对比了解服务注册与发现的基本原理后,如果你要在项目中使用服务注册与发现组件,当面对众多的开源组件该如何进行技术选型?在互联网公司里,有研发实力的大公司一般会选择自研或者基于开源组件进行二次开发,但是对于中小型公司来说直接选用一款开源软件会是一个不错的选择。常用的注册与发现组件有eureka,zookeeper,consul,etcd等,由于eureka在2018年已经宣布放弃维护,这里就不再推荐使用了。业界开源组件下面结合各个维度对比一下各组件。组件优点缺点接口类型

2021-07-30 00:52:16 83

原创 你不知道这份超详细JVM内存结构?源码+原理+手写框架

并发编程共享模型篇并发编程概览进程与线程Java线程共享模型之管程共享模型之内存共享模型之无锁共享模型之不可变共享模型之工具共享模型之管程原理之 Monitor(锁)原理之伪共享模式篇—正确姿势同步模式之保护性智停同步模式之Blking同步模式之顺序控制异步模式之生产者消费者异步模式之工作线程.终止模式之两阶段终止模式线程安全单例享元模式同步模式之保护性暂停应用篇—结合实际效率限制互斥同步和异步缓存分治统筹定时缓存

2021-07-30 00:51:26 108

原创 作为一个程序员,你觉得最大的悲哀是什么?面试必问

正文在实际的工作项目中, 缓存成为高并发、高性能架构的关键组件 ,那么Redis为什么可以作为缓存使用呢?首先可以作为缓存的两个主要特征:在分层系统中处于内存/CPU具有访问性能良好,缓存数据饱和,有良好的数据淘汰机制由于Redis 天然就具有这两个特征,Redis基于内存操作的,且其具有完善的数据淘汰机制,十分适合作为缓存组件。其中,基于内存操作,容量可以为32-96GB,且操作时间平均为100ns,操作效率高。而且数据淘汰机制众多,在Redis 4.0 后就有8种了促使Redis作为缓存可

2021-07-30 00:48:46 106

原创 作为一个程序员,你觉得最大的悲哀是什么?满满干货指导

三、堆空间基本描述JVM启动时创建堆区,是内存管理的核心区,通常情况下也是最大的内存空间,是被所有线程共享的,几乎所有的对象实例都要在堆中分配内存,所以这里也是垃圾回收的重点空间。堆栈关系栈是JVM运行时的单位,堆是存储单位,当栈中方法结束,相关对象失去所有引用后,不会马上被移除堆空间,要等到垃圾收集器运行的时候。四、虚拟机栈虚拟机栈(Java栈)在每个线程创建时都会生成一个虚拟机栈,栈的内部是一个个栈帧单元,对应Java方法的调用,其生命周期和线程周期保持一致。用来存储方法的局部遍历,部分执

2021-07-30 00:47:55 89

空空如也

空空如也

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

TA关注的人

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