杂项
小炫剑指大厂
主要为应届生提供校招或者实习的经验,以及技术博文。
欢迎关注公众号:小炫剑指大厂
展开
-
负载均衡
一、负载均衡负载均衡分两个,一个是前端,一个是数据中心内部。前端一般希望做到最小化用户请求延迟,通常就是用CDN。尽量选择最近的节点,选择最优的机房。数据中心:先看下这张图,左边的图最忙和最不忙的CUP相差还是挺大的,这样就是不好的负载均衡,右边的就是比较好的负载均衡。一般的负载均衡策略如下:轮询、随机、加权、hash但是这样会有问题第一个问题,对于每一个qps,实际上就是每一个query、查询、API请求,它们的成本是不同的。节点与节点之间差异非常大,即便你做了..原创 2020-05-20 15:24:20 · 804 阅读 · 0 评论 -
如何实现下载大文件,解决网络中断等问题
下载东西很容易,但是如何优化?先抛出几个问题1.下载完后,文件都要存在内存吗? 比如我下载两个g的文件需要两个g的内存?2.下载文件后,如何存进硬盘,需要拷贝几次? 能不能实现零拷贝?3.下载的过程中多线程下载会提高速度吗?4.下载的过程中如果网络中断了怎么办?分别回答这几个问题1.没必要存在内存,我们可以用流来下载,但是用流来下载的痛点是:网络断开了怎么办? ...原创 2020-04-23 20:30:25 · 9405 阅读 · 0 评论 -
动态库与静态库区别
首先,两者最重要的区别在于该库是否被编译进目标程序当中。静态库:该库在编译的时候会直接整合到目标程序当中,也就是说,每个程序的静态库都是独立的。这样使得文件比较大。而且因为是编译的的时候整合进去的,所以如果程序更新需要重新编译。动态库:该库在编译的时候是有个指针指向动态库的位置。所以只要指针不变,动态库是可以随时变换的。适用:动态库适用于算法和功能,就是需要经常更...原创 2020-04-10 14:30:26 · 752 阅读 · 1 评论 -
悲催!!!把null字符串看成null
铭记 太惨了在编译器真的很难看出来原创 2019-08-22 17:38:35 · 1807 阅读 · 0 评论 -
对于面向过程和面向对象的理解
程序员吧数据和过程分别作为独立的部分来考虑,数据代表问题空间中的客体。程序代码则用于处理这些数据。这种思维方式直接站在计算机的角度去抽象问题和解决问题。是面向过程站在现实世界的角度去抽象和解决问题,把数据和行为看做是对象的一部分。是面向对象...原创 2019-08-12 15:41:21 · 1928 阅读 · 0 评论 -
equals() 如果避免空指针异常
(o1 == null) ? o2 == null : o1.equals(o2);看源码的时候看到的。觉得有用,记录下原创 2019-08-06 20:02:56 · 2222 阅读 · 0 评论 -
public static <T> List<T> full(List<T> list, Predicate<T> p) 第一个T是什么意思?
第一个是用来声明类型参数的,后面的两个才是泛型的实现。也就是告诉大家 <T>这是一种类型原创 2019-07-30 16:42:13 · 2256 阅读 · 0 评论 -
PageInfo返回的total不正确,和list的size一样
直接上代码List<Cyinfor> cyinfors = cyinforService.getAll(); List<ForeCyinfor> list=cyinforService.foreFull(cyinfors); int total = (int) new PageInfo<>(list).getTotal()...原创 2019-07-19 21:39:57 · 4743 阅读 · 0 评论 -
HTTP是无状态协议,为什么网页就只用登录一次?
HTTP是一种不保存状态的,即无状态的协议。也就是说,HTTP协议不具有保存之前发送过的请求或者响应的功能。在使用HTTP协议的时候,每当有新的请求就会有对应的新响应产生。这样就会产生一种问题了,例如:访问正方系统的时候,由于HTTP协议是不保存状态的,也就是说在第一个页面登陆了之后,再点到另外的页面(由网上选课这个页面然后点到课表这个页面)的时候,是需要重新登陆一遍的,这样显然是很不合理的。而且...原创 2019-07-13 19:48:10 · 2092 阅读 · 0 评论 -
什么是resultful 以及为什么要使用它
resultful风格是一种软件架构风格,而不是标准,只是提供了一种设计原则和约束条件。主要适用于客户端和服务器端交互的软件。是基于http协议实现。目的是为了提高系统的可伸缩性,降低应用之间的耦合度,方便框架分布式处理程序。基于这个风格的软件可更加的简单、更有层次,更易于实现缓存的机制。GET,对应select:是从服务器查询,可以在服务器通过请求的参数区分查询的方式。POST,对应C...原创 2019-07-09 22:27:18 · 6814 阅读 · 0 评论 -
给大一计算机专业学生的建议
先说明下,我现在大二。我给计算机专业的几点建议大一的暑假是特别重要1.明确自己要不要考研怎么做,自己是否对人工智能,大数据,图像处理,三维点云等方面感兴趣我用了几个月的时间跟着老师做项目,认识了一些比较厉害的技术,如图像处理,三维点云等,发现自己对于这些是真的不感兴趣的。也对tomcat底层,spring底层不感兴趣。或者你喜欢研究2.自己是否适合这个专业你真的喜欢计算机吗?喜欢...原创 2019-06-27 17:20:55 · 4175 阅读 · 0 评论 -
标志接口(没有任何方法的接口)
来看下源码/* * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * ...原创 2019-06-09 20:14:16 · 1954 阅读 · 0 评论 -
为什么随机数要用种子,对种子的理解
首先我们要知道,计算机不能产生绝对的随机数。只能产生伪随机数。伪就是有规律的意思。伪随机数就是计算机产生的随机数是有规律的。那么计算机是怎么产生随机数的?当然是通过算法,这个算法是有映射关系的,如我放进1,他会出来一个特定的数RAND_SEED=(RAND_SEED*123+59)%65536;这是某个系统的随机数算法。我们可以把这个算法看成是一个黑盒子,你放进一个数,就会出...原创 2019-05-23 11:21:47 · 19140 阅读 · 4 评论 -
怎么从后端调用别的项目的借口
最近遇到在自己的代码中调用公司别的项目的接口。自己看网上的代码调通了。package com.xz.app.util;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.HttpURLConnection;import j...原创 2019-05-26 19:39:41 · 5340 阅读 · 0 评论