自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 与新手一起快速了解「什么是次世代」?

(英文:Next Generation),源自日本语,即下一个时代,未来的时代。与传统游戏相比,次世代游戏是把次世代游戏开发技术融入到现代游戏之中,主流的大型游戏很多都是次世代画风,比如《逆战》、《和平精英》、《黑神话:悟空》、《黑色沙漠》、《怪物猎人》、《刺客信条》、《使命召唤》等等。的采用,真实法线+高光贴图来表现物体在光线照射条件下体现出的质感,增加贴图的大小。简单的来说,是以精简的面数表达出高精度模型效果,各种材质和纹理贴图效果也更写实,更。1.模型达到高精度(高模),并且应用法线贴图。

2022-12-17 18:00:39 3122

原创 想要学习次世代3d建模,需要用到哪些软件,制作流程是什么?

次世代游戏凭借精美的画面效果和细腻的细节效果,赢得了越来越多的玩家的亲睐,所以次世代游戏也越来越多了,在不远的未来将成为市场上的主流游戏,已经有越来越多的游戏公司开始从事次世代游戏的开发!腾讯、网易、字节跳动、阿里游戏、完美世界、西山居、畅游、盛趣、巨人、莉莉丝、米哈游、IGG、Bilibili、心动、三七互娱、吉比特、掌趣、英雄互娱、多益网络等等。3D场景师的工作是根据原画设定及策划要求制作符合要求的3D场景模型,比如:硬表面:车、枪、机甲等,自然类:石头,树等,建筑类等等属于次世代场景建模;

2022-12-17 17:58:55 743

原创 Java架构师面试前先了解自己是什么水准

既然java架构师,首先你要是一个高级java工程师,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池…:;java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题,比如hashmap的实现原理,好多五年以上经验的

2022-06-27 19:17:39 268

原创 2022年华为Java面经,还没搞懂JVM

多线程相对于其他 Java 知识点来讲,有一定的学习门槛,并且了解起来比较费劲。在平时工作中如若使用不当会出现数据错乱、执行效率低(还不如单线程去运行)或者死锁程序挂掉等等问题,所以掌握了解多线程至关重要。小编接下来会从基础概念开始到最后的并发模型由浅入深,讲解下线程方面的知识。本人面试腾讯,阿里,百度等企业总结下来的面试经历,都是真实的。在此我向大家推荐一个架构学习交流圈。交流学习指导伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBati

2022-06-25 19:34:32 235

原创 《大厂面试》之JVM篇21问与答

这是本期的 JVM面试题目录,不会的快快查漏补缺~jvm将虚拟机分为5大区域,程序计数器、虚拟机栈、本地方法栈、java堆、方法区;Java 内存模型(下文简称 JMM )就是在底层处理器内存模型的基础上,定义自己的多线程语义。它明确指定了一组排序规则,来保证线程间的可见性。这一组规则被称为 Happens-Before , JMM 规定,要想保证 B 操作能够看到 A 操作的结果(无论它们是否在同一个线程),那么 A 和 B 之间必须满足 Happens-Before 关系 :怎么理解 happens-b

2022-06-25 19:31:13 173

原创 Java编程线程池的用法与优缺点分析

我们在前几期的文章中给大家简单介绍了线程的一些基础知识等内容,而本文我们就通过案例分析来了解一下,Java编程线程池的用法与优缺点分析。1、线程池定义线程池(ThreadPoolExecutor)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。线程过多会带来额外的开销,其中包括创建销毁线程的开销、调度线程的开销等等,同时也降低了计算机的整体性能。线程池维护多个线程,等待监督管理者分配可并发执行的任务。一方面避免了处理任务时创建销毁线程开销的代价,另一方面避免了线程数量膨胀导致的过分

2022-06-24 19:27:43 578

原创 零基础自学java编程5个月,工资10000

一朋友自学java编程5个多月,今天终于找到工作了,工资10000,祝福他。确实厉害,时常听到有人问,零基础学习java需要多长时间?这个问题,因人而异,假如从零基础开始自学java,按每天学习8个小时来算,而且在有学习资料的基础上,从零学起,到找到一份工作,这过程至少要半年以上。而且还要有1-2个项目经验,没有实际的项目经验,估计在面试时会被筛选掉。当然,对于有一定编程基础的人来说,可能不用半年,或许2-3个月就可以学完基础了,再系统地梳理下知识要求,是完全可以胜任第一份工作的。个人觉得java相对于C,

2022-06-24 19:26:47 359

原创 Java实现贪吃蛇游戏(1小时学会)

这篇文章主要为大家详细介绍了Java实现贪吃蛇游戏,1小时学会贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下今天就来拿贪吃蛇小游戏来练练手吧!贪吃蛇游戏规则:游戏界面效果:我们可以看到自己的贪吃蛇吃了多少食物,以及游戏得分。下面是游戏效果图:源码(注释超详细,注意ImageDate类中的material是一个包名,里面存放的是游戏素材图片):游戏用到的图片如下(蛇身、向下的蛇头、食物、logo、向左的蛇头、向右的蛇头、向上的蛇头):...

2022-06-21 17:44:45 1778

原创 java Spring的启动原理详解

为什么突然说一下Spring启动原理呢,因为之前面试的时候,回答的那可谓是坑坑洼洼,前前后后,补补贴贴。。。总而言之就是不行,再次看一下源码发掘一下。。。在Spring Boot还没有广泛到家家在用的时候,我们都还在书写繁琐的配置,什么web.xml、spring.xml、bean.xml等等。虽然现在很少,可以说几乎没有企业在去使用Spring的老一套,而会去使用Spring Boot约定大于配置来进行快速开发,但是,Spring的也要去学习,去挖掘,毕竟是我们Java程序员的基础呀。spring的启动是

2022-06-21 17:40:58 435

原创 Java小白走向Java架构师需要掌握哪些技能?

Java小白走向Java架构师需要掌握哪些技能?下面和小编一起来看看吧。1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟 悉:appletviewer、 HtmlConverter、jar、 Java、Javac、Javadoc、Javap、Javaw、 native2ascii、serialver,如果这些命令你没有全部使用过,那么你 对Java实际上还很不了解。

2022-06-20 19:30:44 447

原创 老生常谈:大厂裁员背景下IT行业到底前景如何?

不止一个粉丝在后台问过这个问题:IT行业究竟有前景吗?尤其是一些非相关专业毕业,考虑转行学习的同学,他们对IT行业既有向往,也有害怕付出经济和时间成本后却又一次选择失败的担忧。首先,我觉得IT行业非常有前景,我甚至一度觉得,如果你很迷茫,那么 IT 行业可能是绝大部分理工科的最佳选择。想必会有人表示不能认同,且待我细细说来。关于未来计算机会不会饱和这个问题,用朴素的观念看待,任何一个行业或工种,当源源不断的劳动力涌进去,而需求端没对应级别的增长的时候,都会出现饱和状态。当下,很多人对IT的第一印象是程序猿,

2022-06-20 19:30:12 785

原创 深入理解虚拟机,JVM高级特性-自动内存管理机制

什么是自动内存管理机制?对于java程序员来说,有一点是要比C/C++程序员要方便的,那就是程序在运行时,java程序不需要为每一个对象其编写对应的释放内存的代码,JVM虚拟机将为你在合适的时间去释放内存空间,程序不容易出现内存泄漏和内存溢出问题,这就是JVM的自动内存管理机制。而也正是因为我们将内存控制权交给了虚拟机,如果我们不了解虚拟机是怎样使用内存,错误排查将会是一项艰难的工作。在我们了解JVM如何管理内存之前,有必要了解一下JVM运行时的数据区域程序计数器:程序计数器是一块较小的空间,它可以看作是当

2022-06-18 17:55:42 196

原创 面试常问,一半以上的人容易忽略的,线程同步问题

什么是线程同步?当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题。为什么要线程同步?因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常同步机制:在多线程中,可能有多个线程试图访问一个有限的资源,必须预防这种情况的发生。所以引入了同步机制:在线程使用一个资源时为其加锁,这样其他的线程便不能访问那个资源了,直到解锁后才可以访问。Java多线

2022-06-18 17:54:31 166

原创 关于事务、事务的隔离级别以及对脏读、不可重复读、幻读的理解

什么是事务?  事务,即数据库事务。是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。  通常,事务的正确执行会使数据库从一种状态转换为另一种状态。事务的特性(ACID原则)原子性(atomicity) 即不可分割性,事务要么全执行、要么全不执行。一致性(consistency) 事务的执行使得数据库从一种正确状态转换成另外一种正确状态。隔离性(isolation) 在事务正确提交之前,不允许把事务对该数据的改变提供给任何其他事务。持久性(durability) 事务正确

2022-06-15 17:59:38 228

原创 Java 微服务框架选型(Dubbo 和 Spring Cloud)

微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。...

2022-06-15 17:55:42 1898

原创 Java开发入门:Java开发的基础知识有哪些?

对于很多零基础却又想加入Java编程语言行业的人而言,迫切想要了解的,莫过于零基础学Java到底要掌握哪些基本知识呢?1.Java基础先从Java的基础教程开始学习,了解Java是什么。在这个时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么回事。学完以上内容后,你对Java也能有基本的了解,接着你可以尝试着用Java语言写出一些简单的程序。2.Web开发接着,你可以着手往Web开发相关的内容学习,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)

2022-06-13 19:59:31 1832

原创 资深架构大佬分享:MySQL InnoDB 存储引擎大观

MySQL InnoDB 引擎现在广为使用,它提供了事务,行锁,日志等一系列特性,本文分析下 InnoDB的内部实现机制,MySQL 版本为 5.7.24,操作系统为 Debian 9。MySQL InnoDB 的实现非常复杂,本文只是总结了一些皮毛,希望以后能够研究的更加深入些。InnoDB 的架构分为两块:内存中的结构和磁盘上的结构。InnoDB 使用日志先行策略(WAL),将数据修改先在内存中完成,并且将事务记录成重做日志(Redo Log),转换为顺序 IO 高效的提交事务。这里日志先行,说的是日志

2022-06-10 19:39:36 197

原创 阿里P8架构师详谈 Java 内存模型

Java 内存模型(JMM)描述了 JVM 如何使用计算机的内存(RAM)。JVM 是一个完整计算机的模型,因此该模型包含了内存模型的设计 —— JMM。如果要正确地设计并发程序,了解 JMM 非常重要。JMM 描述了不同线程间如何以及何时可以看到其它线程写入共享变量的值,以及如何在必要时同步访问共享变量。最初的 JMM 设计不充分,因此 JMM 在 Java 1.5 进行了修订。此版本的 JMM 仍在 Java 8 中使用。JVM 内部使用的 JMM 将内存划分为线程栈和堆。下图从逻辑角度说明了 JMM:

2022-06-10 19:37:48 164

原创 听听京东架构师浅谈,MySQL binlog 主从同步

1,binlog 的概念Server 层的日志系统(归档日志),binlog 中跟踪对其数据库的所有更改操作。是逻辑日志,以追加日志的形式记录。2,binLog 的三种格式1)statement记录 SQL 语句的原文。风险点:如果主/从用到的索引不同,操作语句带 limit 时,处理的可能是不同行的记录数据。2)row仅记录某条记录的数据修改细节,不关系上下文。缺点:占用空间,同时写 binlog 很耗费 I/O 资源,影响执行速度。3)mixed一般语句使用 statement 格式保存,如果使用了一些

2022-06-10 19:36:04 579

原创 一个五年架构师凭什么基本年薪酬就可以达到50万

架构师,我想很多人都知道,其实该职位头衔在最早的IT领域是没有的,它是近些年来由互联网的发展所引发的需求,因为现阶段的数据量及高并发的活跃好动,引起了不少传统的技术人员的力不从心,企业愈发关注到了系统架构的重要性,所以不同行业开始招募架构技术人员,架构师就诞生了。以下三个条件不适合做架构设计对架构不感兴趣,但又迫于需求;入IT行业,年限小于4年的;主观能动性弱,又安于现状的;架构设计需要注意的地方,不是怎么把架构搭建起来,而是必须根据业务需求,严格分析,实现该需求需要什么技术会更好及更长远发展的考虑;另外,

2022-06-08 19:54:04 794

原创 Redis集群架构+Dubbo开发框架+SSO单点登录+Nginx+ZooKeeper

【课程介绍】Redis是现在使用为广泛的NoSQL数据库技术,其自身不仅拥有着良好的操作性能,也被广泛的应用于各种集群架构的数据整合处理之中,而本课程将通过Redis的核心作用,以及单实例redis存在的问题为读者进行分析,而后重点讲解redis官方给出的集群实现方案。【课程收益】本课程主要为读者讲解redis各种集群架构开发技术的使用,包括:Sentinel、Twemproxy、redis-cluster课程大纲第一章:Redis集群架构概述第二章:Redis哨兵机制第三章:twemproxy分片处理第四

2022-06-08 19:51:37 222

原创 Java进阶架构实战——Redis在京东到家的订单中的使用

Redis作为一款性能优异的内存数据库,在互联网公司有着多种应用场景,下面介绍下Redis在京东到家的订单列表中的使用场景。主要从以下几个方面来介绍:订单列表在Redis中的存储结构Redis和DB数据一致性保证只要有多份数据,就会涉及到数据一致性的问题。Redis和数据库的数据一致性,也是必然要面对的问题。我们这边的订单数据是先更新数据库,数据库更新成功后,再更新缓存,若数据库操作成功,缓存操作失败了,就出现了数据不一致的情况。保证数据一致性我们前后使用过两种方式:代码示例:Redis中的分布式锁分布式锁

2022-06-08 19:48:33 550

原创 史上最全Java面试题:数据结构+算法+JVM+线程+finalize+GC

基本概念操作系统中 heap 和 stack 的区别什么是基于注解的切面实现什么是 对象/关系 映射集成模块什么是 Java 的反射机制什么是 ACIDBS与CS的联系与区别Cookie 和 Session的区别fail-fast 与 fail-safe 机制有什么区别get 和 post请求的区别Interface 与 abstract 类的区别IOC的优点是什么IO 和 NIO的区别,NIO优点Java 8 / Java 7 为我们提供了什么新功能什么是竞态条件? 举个例子说明。JRE、JDK、JVM

2022-06-08 19:41:06 376

原创 spring-boot-klock-starter分布式锁项目开源

前言spring-boot-klock-starter是一个基于redis的分布式锁spring boot starter组件,使得项目拥有分布式锁能力变得异常简单,支持spring boot,和spirng mvc等spring相关项目,使用和接入都非常简单方便,现开源出来,给所有需要分布式锁能力的项目提供一个方案快速开始spring boot项目接入1.添加lock starter组件依赖,目前还没上传到公共仓库,需要自己下源码buildorg.springframework.bootspring-bo

2022-06-08 19:37:39 1077

原创 Java进阶:一般Java初学者都会经历的三个学习阶段

每一个Java的初学者都需要经历下面的三个阶段才会真正的体验到Java的神奇魅力,下面和小编一起来看看吧!第一阶段、培养兴趣小编首先表示:兴趣是最好的老师,可以是天生的,也可以后期培养。所以,学习Java一定要对其感兴趣,即使刚开始没有兴趣也应该努力的培养自己对java的兴趣,如果没有兴趣的话即使今后从事这样的方向也不会有所成就。因此,既然选择学习这门技术,那就应该把自己的精力和兴趣转移到Java上,把Java学习当成是一款有难度、需要持久战术的游戏,在学习Java的过程中,找到自己的存在感、满足感、成就感

2022-06-06 18:38:43 231

原创 中级Java应该清楚的概念:原子性、可见性、有序性是什么?

原子性、可见性、有序性是多线程编程中最重要的几个知识点,由于多线程情况复杂,如何让每个线程能看到正确的结果,这是非常重要的,下面和小编一起来看看吧!原子性原子性是指一个线程的操作是不能被其他线程打断,同一时间只有一个线程对一个变量进行操作。在多线程情况下,每个线程的执行结果不受其他线程的干扰,比如说多个线程同时对同一个共享成员变量n++100次,如果n初始值为0,n最后的值应该是100,所以说它们是互不干扰的,这就是传说的中的原子性。但n++并不是原子性的操作,要使用AtomicInteger保证原子性。可

2022-06-06 18:36:47 132

原创 Java 后端开发常考面试题有哪些?

Java程序员面试过程中少不了专业上的考试,那么面试过程中面试官会问些什么问题呢?接下来Java进阶营带你一起来进入面试环节!Java开发实用的面试题及参考答案1、进程,线程,协程之间的区别是什么?简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高。线程是进程的一个实体,是cpu调度和分派的基本单位,是比程序更小的能独立运行的基本单位。同一进程中的多个线程之间可以并发执行。2、你

2022-06-02 19:53:33 2018

原创 「Java面试」常见的限流算法有哪些?

好的,关于这个问题,我会从几个方面来回答。首先,限流算法是一种系统保护策略,主要是避免在流量高峰导致系统被压垮,造成系统不可用的问题。常见的限流算法有5种。计数器限流,一般用在单一维度的访问频率限制上,比如短信验证码每隔60s只能发送一次,或者接口调用次数等。它的实现方法很简单,每调用一次就加1,处理结束以后减一。滑动窗口限流,本质上也是一种计数器,只是通过以时间为维度的可滑动窗口设计,来减少了临界值带来的并发超过阈值的问题。每次进行数据统计的时候,只需要统计这个窗口内每个时间刻度的访问量就可以了。Spri

2022-06-02 19:51:49 182

原创 如果你不懂Spring,那么大厂面试官也不会懂你为什么敢来面试?

面试官:看你简历写的不错,先简单自我介绍下?我:大佬好!我是小程,工作时长两年半,目前负责在公司打杂,啊不,负责维护公司的两个项目…面试官:hmmm,你们项目中Spring用的多么?我:还可以,基本上都用得到。(平时都是百度着用用啊)面试官:那你讲讲使用Spring的AOP具体是指什么?我:(这个我背过答案!)AOP是面向切面编程,能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可扩展性和可维护性。面试官:嗯,理解的很棒啊,那你知道

2022-06-01 19:38:15 251

原创 8个面试应对算法题小技巧

跟大家分享一些在处理算法题时的技巧和方法,尤其是在面试或者是比赛的时候应付难题的技巧。说不定就可以在关键时刻起到作用。冷静首先要说的就是冷静,越是一些重要的节点,越是要冷静。一旦心里慌乱,手足无措,基本上大脑也就不转了,别说超常发挥了,就连正常发挥都不可能。面试是一个非常容易紧张的场合,即使我参加过数十次面试,也依然免不了会紧张,尤其是一些充满挑战的面试。比如说久负盛名的公司,或者是全英文的面试等等。所以会紧张是正常现象,大佬们也不例外。在面试之前发现自己紧张,千万不要和这种情绪对抗,想要让自己不紧张,这

2022-06-01 19:36:42 830

原创 大厂必考:MQ

从时间节点上来看,3月、4月是每年跳槽的黄金季!以 BAT 为代表的互联网大厂,无论是薪资待遇、还是平台和福利,都一直是求职者眼中的香饽饽,“大厂经历” 在国内就业环境中无异于一块金子招牌。在这金三银四的时间里,进大厂,是绝佳机会,也是大部分小伙伴的第一选择!很多想进大厂的朋友都在问,该怎么备战 2022年春招?为此我专门打造了一份**《Java进阶学习+面试宝典》**分享给大家,内容涵盖:计算机基础、Java、JVM、spring、算法、微服务、分布式、大厂面经、技术脑图等等…质量非常高!!!不管最近要不

2022-06-01 19:36:11 82

原创 耗时两年,又一份 YYDS 的面试八股文

金三银四到了~这几天,后台给我留言问简历、Offer的人,一下子多了起来。不过,我看了很多小伙伴的履历,发现:大部分人的工作经验不具备竞争力。其中,没有Java核心技术的加持、技术水平还停留在最基础的阶段,是最大的问题之一。也有很多小伙伴已经意识到这个问题,一直在问有没有分布式、高并发、多线程这些高阶的技术资料,最好能有热门框架、消息中间件等技术栈的部份内容帮助学习为了避免大家盲目学习,先看看Java高级开发所要必备哪些技术:拉来几个大佬联手给大家整理了 一份全面且系统的Java入门到高级的资料,从** J

2022-06-01 19:35:39 63

原创 Redis源码剖析,狠狠地拿捏了,赶紧码住

C 语言 string 函数,在 C 语言中可以使用 char* 字符数组实现字符串,C 语言标准库 string.h 也定义了多种字符串操作函数。字符串使用广泛,需要满足:下面代码展示了 C 语言中 ‘\0’ 结束字符对字符串的影响。下图展示了一个值为 “Redis” 的 C 字符串:输出结果是 3 和 5。SDS(简单动态字符串) 是 simple dynamic string 的简称,Redis 使用 SDS 作为字符串的数据结构。Redis 中所有的键(key)底层都是 SDS 实现的。比如:

2022-06-01 19:34:02 282

原创 Java程序员能不了解Oracle吗?

Oracle数据库使用广泛,大多数Java开发者都会用到Oracle。这里为大家准备了一些Oracle的基础知识,有助于理解Oracle的一些设计思想,以及数据库调优有着非常大的帮助,简易详细浏览一遍,对基本的架构有一个理解。Oracle整体架构包含Oracle数据库正常运行的必需组件等。主要有实例(Instance),数据库(Database)数据库实例是由服务器上的一组内存结构以及进程组成。用来支撑、完成数据库的正常运行以及操作。实例是可以独立于数据库存在的。其中实例包含了以下组件:即服务器OS为当前I

2022-06-01 19:33:33 104

空空如也

空空如也

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

TA关注的人

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