程序员
文章平均质量分 81
普通网友
这个作者很懒,什么都没留下…
展开
-
【BAT面试题系列(1),真香
面试问题2:按线程池内部机制,当提交新任务时,有哪些异常要考虑。面试问题3:线程池都有哪几种工作队列?面试问题4:使用无界队列的线程池会导致内存飙升吗?面试问题5:说说几种常见的线程池及使用场景?线程池概念线程池: 简单理解,它就是一个管理线程的池子。它帮我们管理线程,避免增加创建线程和销毁线程的资源损耗。因为线程其实也是一个对象,创建一个对象,需要经过类加载过程,销毁一个对象,需要走GC垃圾回收流程,都是需要资源开销的。提高响应速度。 如果任务到达了,相对于从线..原创 2021-09-09 20:27:32 · 213 阅读 · 0 评论 -
「JVM,一个Java程序员的腾讯面试心得
(1) Native Method Stack本地方法栈它的具体做法是Native Method Stack中登记native方法,在Execution Engine执行时加载native libraies。(2) PC Register程序计数器每个线程都有一个程序计算器,就是一个指针,指向方法区中的方法字节码(下一个将要执行的指令代码),由执行引擎读取下一条指令,是一个非常小的内存空间,几乎可以忽略不记。(3) Method Area方法区方法区是被所有线程共享,所有字段和方法字节码,以及一.原创 2021-09-09 20:25:50 · 160 阅读 · 0 评论 -
《零基础,Java程序员架构之路该如何继续学习
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。数值类型MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。BIT数据类型保存位字段值,并且支持MyISAM、M原创 2021-09-09 20:24:03 · 160 阅读 · 0 评论 -
《遇见狂神说,你知道Java有哪些创建对象的方式吗
注意:MySQL中事务默认是自动提交使用事务时应先关闭自动提交使用set语句来改变自动提交模式SET autocommit = 0; /*关闭*/SET autocommit = 1; /*开启*/开始一个事务,标记事务的起点,从这个之后的sql,都在一个事务内start transaction提交一个事务给数据库(持久化成功)commit回滚事务,将数据回到本次事务的初始状态rollback还原MySQL数..原创 2021-09-09 20:20:41 · 129 阅读 · 0 评论 -
《菜菜的机器学习sklearn课堂,细谈分布式事务的前世今生
簇中所有数据的均值 μ \mu μ通常被称为这个簇的质心(centroids)。在一个二维平面中,一簇数据点的质心的横坐标就是这一簇数据点的横坐标的均值,质心的纵坐标就是这一簇数据点的纵坐标的均值。同理可推广至高维空间。在KMeans算法中,簇的个数K是一个超参数,需要我们人为输入来确定。KMeans的核心任务就是根据我们设定好的K,找出K个最优的质心,并将离这些质心最近的数据分别分配到这些质心代表的簇中去。具体过程可以总结如下:| 顺序 | 过程 || — | — || 1 | 随机抽取K个样本原创 2021-09-09 20:18:58 · 328 阅读 · 0 评论 -
主流的四种限流策略,我都可以通过redis实现,干货仅此一篇,真的醉了
正如图示一样,他的最大问题就是临界状态。在临界状态最坏情况会受到两倍流量请求除了临界的情况,还有一种是在一个单元时间窗内前期如果很快地消耗完请求阈值。那么剩下的时间将会无法请求。这样就会因为一瞬间的流量导致一段时间内系统不可用。这在互联网高可用的系统中是不能接受的。实现好了,关于原理介绍及优缺点我们已经了解了。下面我们动手实现它首先我们在实现这种计数时,采用redis是非常好的选择。这里我们通过redis实现controller@RequestMapping(value..原创 2021-09-06 22:35:08 · 129 阅读 · 0 评论 -
为何优秀的程序员不断离开?,字节跳动8年老Java面试官经验谈
而我给出这样的答案,不是因为我很官方,或者我想回避这个问题,而是因为我不知道真正的原因。请不要误会我的意思。无论你去哪家公司工作,总会遇到一些组织层面的烦恼和麻烦,而且总是会有人找上门对你说:“我有一个绝佳的机会,你可以在家穿着睡衣上班,而且薪水加倍,有兴趣吗?”但是等到你进入公司后老板却会说:“我们打算将你的薪水减半,强迫你做繁重枯燥的工作,还要把你送到南极去。”我辞职肯定有我自己的理由,但这次的情况比较特别。通常,我喜欢在做某件事情的时候反省自己的动机。我认为这种反省非常好,可以确保我保持理性,不要原创 2021-09-06 22:33:32 · 359 阅读 · 0 评论 -
为什么高级程序员都使用基于构造方法的依赖注入?学到了,29岁vivo员工吐槽
冲冲冲!看官方怎么说这是一个有warning的提示的代码@Autowireprivate JdbcTemplate jdbcTemplate; 提示的警告信息Field injection is not recommended Inspection info: Spring Team recommends: “Always use constructor based dependency injection in your beans. Always use..原创 2021-09-06 22:31:57 · 166 阅读 · 0 评论 -
为什么高级程序员都不用a,mysql常见笔试题
但到了实际开发,情况就复杂的多了,比如Null和空字符串的区别1.值是Null========1.a.equals(b), a 是null, 抛出NullPointException异常。2.a.equals(b), a不是null, b是null, 返回false。不会抛出空指针异常。3.Object.equals(a,b)比较时, 若a 和 b 都是null, 则返回 true, 如果a 和 b 只有其中一个是null, 则返回false。不会抛出空指针异常。n原创 2021-09-06 22:30:17 · 109 阅读 · 0 评论 -
为什么阿里巴巴不建议在for循环中使用”,这篇文章可以满足你80%日常工作
5、StringUtils.join除了JDK中内置的字符串拼接方法,还可以使用一些开源类库中提供的字符串拼接方法名,如apache.commons中提供的StringUtils类,其中的join方法可以拼接字符串。String wechat = "Hollis";String introduce = "每日更新Java相关技术文章";System.out.println(StringUtils.join(wechat, ",", introduce));这里简单说一下,StringUt原创 2021-09-06 22:28:29 · 142 阅读 · 0 评论 -
为什么要用spring,springMVC?,作为Java开发者
先讲讲servlet吧,servlet的作用就是是接收浏览器传给服务端的请求(request),并将服务端处理完的响应(response)返回给用户的浏览器,浏览器和服务端之间通过http协议进行沟通,其过程是浏览器根据用户的选择将相关信息按http协议报文的规范组装请求的http报文,报文通过网络传输到指定的服务器,服务器通过特定的web容器接收这个报文信息,例如:tomcat,jetty,jboss这样的web容器,web容器会将http报文解析出来,如果是用户请求,最终解析出来的报文信息会用一个req原创 2021-09-06 22:26:49 · 103 阅读 · 0 评论 -
【大厂必考之JVM】02,Java面试重点问题
一个毕业后未进大厂的程序员的进阶之路——既为巩固知识,也为交流学习。收藏+关注方便观看后续更新。痴迷技术,热爱分享。个人微信公众号**【一条IT】,免费领取java/python全套学习资料。**前言==本文主要介绍堆内存的结构及对象在堆中的生命周期和垃圾回收。目录前言一、堆的结构1.1新生区1.2 养老区1.3堆结构的代码验证二、对象的生命周期和垃圾回收1.对象被回收的流程2.永久代/元空间总结一、堆的结构=========================..原创 2021-09-05 23:46:44 · 70 阅读 · 0 评论 -
【备战秋招冲击大厂,linux系统入门书籍
allkeys-lfu:从数据集中挑选使用频率最低的数据淘汰。allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰no-enviction(驱逐):禁止驱逐数据,这也是默认策略。意思是当内存不足以容纳新入数据时,新写入操作就会报错,请求可以继续进行,线上任务也不能持续进行,采用no-enviction策略可以保证数据不被丢失。### 10\. 秒杀常见问题* 连接超时 * 使用连接池* 超卖问题 ..原创 2021-09-05 23:44:59 · 111 阅读 · 0 评论 -
【备战秋招冲击大厂(4),高并发系统基础篇
2. BASEBasically Available基本可用Soft state 软状态Eventually consistent 最终一致性3. RedisRemote dictionary server(远程字典服务器)是一个高性能的(key/value)分布式内存数据库,基于内存运行,并支持持久化的NoSQL数据库。具有如下特点:redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启时可以再次加载进行使用;redis不仅支持key/value类型的数据,原创 2021-09-05 23:41:26 · 203 阅读 · 0 评论 -
【备战秋招冲击大厂(3),大厂Java研发岗面试复盘
java.util.Map:它有四个实现类,分别是HashMap、Hashtable、LinkedHashMap 和TreeMap.Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。HashMap最多只允许一条记录的键为Null,允许多条记录的值为 Null;HashMap不支持线程的同步,即任一时刻如果有多个线程同时写HashMap,可能会导致数据的不一致。如果需要同步,可以用 Collect原创 2021-09-05 23:39:40 · 189 阅读 · 0 评论 -
史上最全Spring教程,从零开始带你深入♂学习,一文搞懂JVM架构
<version>5.3.6</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.4</version> ...原创 2021-09-03 22:49:49 · 240 阅读 · 0 评论 -
史上最全Spring教程,从零开始带你深入♂学习(1),一招教你看懂Netty
public String getName() { return name;}//加群1025684353一起吹水聊天public void setName(String name) { this.name = name;}public Address getAddress() { return address;}public void setAddress(Address address) { this.address = add原创 2021-09-03 22:48:09 · 120 阅读 · 0 评论 -
史上最全SpringMVC教程,从零开始带你深入♂学习(3),基础+进阶+高级
</init-param><!--启动级别-->//加群1025684353一起吹水聊天<load-on-startup>1</load-on-startup><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern> []()四、在resources目录下编写SpringMVC的配置文件!名称:spri原创 2021-09-03 22:46:25 · 79 阅读 · 0 评论 -
MyEclipse优化,Java基础视频
3 、去掉MyEclipse的拼写检查=================================================================================拼写检查会给我们带来不少的麻烦,我们的方法命名都会是单词的缩写,他也会提示有错, 所以最好去掉,没有多大的用处。Window >perferences> General > Editors > Text Editors > Spelling > 将Enable spel原创 2021-09-02 22:57:50 · 74 阅读 · 0 评论 -
MyBatis的SQL执行流程不清楚?看完这一篇就够了,Java技术成长
1、首先我们会手动调用SqlSessionFactoryBuilder方法中的build()方法:2、然后会构造一个XMLConfigBuilder对象,并调用其parse方法:3、然后会继续调用自己的parseConfiguration来解析配置文件,这里面就会分别去解析全局配置文件的顶级节点,其他的我们先不看,我们直接看最后解析mappers节点4、继续调用自己的mapperElement来解析mappers文件(这个方法比较长,为了方便截图完整,所以把字体缩小了1号),可以看.原创 2021-09-02 22:56:01 · 110 阅读 · 0 评论