每月IT摘录201808--201809】的更多相关文章

摘录自互联网的前辈心得: 一.技术:0.精通一个淘汰的技术对你没有任何价值.学习的精力有限,更应该花在值得学的技术上.比如网络.操作系统.数据结构.算法1.工作要有定力,更多的应该是关心问题如何更有效地解决,而解决技术细节也比普通人更高效,写出来的代码更简洁.说白了,就是找百度谷歌,也比别人找的快,定位的准,知道自己要解决什么,而且有大体的正确的思路,绕开以前走过的弯路.2.学技术应该学习一项技术最核心的东西,比如学JAVA应该重点学习垃圾回收机制,JAVA类加载机制等,J2EE开发重点要学习H…
技术 1.项目,相比数量,规模更重要. 毫无疑问,在实际工作中,积极参与实际工程项目是快速积累经验最好的办法. 相对于项目的数量,项目的规模更加重要.项目的规模是可以比较容易判断的.实际服务用户的数量,参与工程实施的各类人员的数量,都可以反应出项目规模的大小. 为什么更应该追求项目的规模呢?因为项目的规模越大,可能遇到的各种架构问题就会越多,你能从中学到的东西自然也会越多. 2.当你接到一个小需求,在一个已有的项目上面,增加一个小功能,比如就是数据库的CRUD的操作.你可能觉得很无聊,没啥技术含…
技术 1.在开发高并发系统时,有很多手段来保护系统,如缓存.降级.限流等.缓存可以提升系统的访问速度,降级可以暂时屏蔽掉非核心业务,使得核心业务不受影响.限流的目的是通过对并发访问进行限速,一旦达到一定的速率就可以拒绝服务(定向到错误页或告知资源没有了).排队等待(如秒杀.评论.下单等).降级(直接返回兜底数据,如商品库存默认有货). 目前主要有以下几种限流方式: 信号量;计数器;滑动窗口;漏桶算法;令牌桶算法;分布式限流. 2.Tomcat其实是一个Servlet容器.当前执行线程有可能阻塞,…
技术 1.Jsessionid只是tomcat的对sessionid的叫法,其实就是sessionid:在其它的容器也许就不叫jsessionid了. 2.在 InnoDB 中,索引使用的数据结构是 B+ Tree,这里的 B 是 Balance 的意思.B 类树的一个很鲜明的特点就是树的层数比较少,而每层的节点都非常多,树的每个叶子节点到根节点的距离都是相同的(这也是为什么叫 Balance Tree 的原因),另外,树的每一个节点都是一个数据页,这样每个节点只需要一次 IO 就可以全部读取.…
技术 1.JVM.Java并发.NIO.网络通信,这些都是一个java工程师必须具备底层技术素养. 2.关于技术广度.消息中间件.分布式缓存.海量数据.分布式搜索.NoSQL.分布式架构.高并发.高可用.高性能,这些技术,并不是说真的要求工作几年的同学每个技术都精通到源码层面,而是说你工作几年以后,应该有一定的技术广度,开阔的技术视野.各种技术你都得适当的了解一些,同时尽可能有机会的话在自己负责的项目里多实践各种技术,多体会各种技术如何组成出一套架构来解决公司的技术难题的,尽量多对各种技术都一定…
技术 1.打牢基础,从会使用-了解原理-了解思想一步一步来,最怕基础很弱但却以什么都用过为荣的人,这样的人我招进来也只是初级而已,工作年限再多也没有用.少林里面,有功和拳之分,如蛇拳猴拳是拳,马步功石锁功是功,你觉得你练会了蛇拳就能打人?同样,编码之路,分清什么是功什么是拳,一开始80%事件花在练功上,而不是练拳.练武不练功,到老一场空. 2.<深入理解计算机系统>比较适合一直从事Java Web开发和APP后端开发工作的人群.<tcp/ip详解 卷一.二.三>比较适合做网络编程的…
技术 1.Redis.对于单机实例,我们采用原生主从(Master-Slave)模式实现高可用,常规模式下对外仅暴露 Master 节点.由于使用原生 Redis,所以单机实例支持所有 Redis 指令.对于单机实例,我们使用Redis 自带的哨兵(Sentinel)集群对实例进行状态监控与 Failover.Sentinel 是 Redis 自带的高可用组件,将 Redis 注册到由多个 Sentinel 组成的 Sentinel 集群后,Sentinel 会对 Redis 实例进行健康检查,…
一.技术 海量数据的解决方案: 使用缓存: 页面静态化技术: 数据库优化: 分离数据库中活跃的数据: 批量读取和延迟修改: 读写分离: 使用NoSQL和Hadoop等技术: 分布式部署数据库: 应用服务和数据服务分离: 使用搜索引擎搜索数据库中的数据: 进行业务的拆分: 高并发情况下的解决方案: 应用程序和静态资源文件进行分离: 页面缓存: 集群与分布式: 反向代理: CDN: 1. 有时候就跟你看了一百篇某个技术点的技术文章,真的开始写的时候,什么也想不起来,又得打开一篇,照猫画虎做完,却发现…
一.技术 1.专注于一个领域,横向扩展其他领域的技术.2.想得太多,做得太少. 3.想要成为一名web开发高手.必须熟悉以下内容: a.每次请求和响应的背后究竟发生了哪些步骤?客户端和服务器是如何通过HTTP请求报文进行交互的? b.深刻掌握MIME类型的知识. c.深刻理解HTTP网络知识. 4.积极的程序员,应该每年学习一种新的不同特性的语言. 5.学习技术的6步: a.查看介绍文档 ; b.安装部署;c.编写demo ;d.系统性查看技术文档; e.测试 ; f.看源码6.没有经过多次实践…
一.技术 1.架构师的技术升级要点:用两个字来描述:集群,用三个字:分布式,再用多点的文字:把海量的流量和数据合理分摊到数量合适的机器上. 想明白这点,后面就能知道该学哪些了,比如流量分摊时得负载均衡,存储海量数据时得靠数据库集群,或分库分表,为了防止单点失效,得设计冗余系统,系统间通讯时得用消息中间件,不能让每次请求都走后台,所以可以搭建缓存,单个缓存容易失效,所以可以搭建分布式缓存,为了监控性能,所以得上一些监控措施,比如监控JVM,监控数据等的,为了等看日志,所以得上一些日志组件.等等.…