java相关
文章平均质量分 79
千丈之松
开放、平等、协作、分享;
现代互联网精神。
展开
-
dubbo相关
基础知识为什么要用 Dubbo?随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服务治理框架就出现了,Dubbo 也就这样产生了。Dubbo 是什么?Dubbo 是一款高性能、轻量级的开源 RPC 框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框转载 2021-07-22 16:35:05 · 231 阅读 · 0 评论 -
每秒处理10万订单乐视集团支付架构
作者梁阳鹤,乐视网boss平台技术部架构师,主要负责乐视集团支付,乐视会员系统,商业运营平台等系统架构工作。开源数据访问层框架mango作者。随着乐视硬件抢购的不断升级,乐视集团支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定的完成支付尤为重要。所以在15年11月,我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为乐转载 2016-10-18 08:32:41 · 469 阅读 · 0 评论 -
35 个 Java 代码性能优化总结
前言 代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考原创 2017-03-07 11:09:18 · 349 阅读 · 1 评论 -
java基础知识汇总
浅谈Java中的hashcode方法探秘Java中String、StringBuilder以及StringBufferJava垃圾回收机制Java内部类详解深入理解Java的接口和抽象类 Java多线程基础:进程和线程之由来 Java NIO:浅析I/O模型 Java NIO:NIO概述 J转载 2017-03-07 11:12:31 · 398 阅读 · 0 评论 -
分布式服务化系统一致性的“最佳实干”
1 背景一致性是一个抽象的、具有多重含义的计算机术语,在不同应用场景下,有不同的定义和含义。在传统的IT时代,一致性通常指强一致性,强一致性通常体现在你中有我、我中有你、浑然一体;而在互联网时代,一致性的含义远远超出了它原有的含义,在我们讨论互联网时代的一致性之前,我们先了解一下互联网时代的特点,互联网时代信息量巨大、需要计算能力巨大,不但对用户响应速度要求快,而且吞吐量指标也要向外扩展(转载 2017-03-29 09:54:19 · 3491 阅读 · 0 评论 -
JAVA 互联网面试
1:java和算法基础 ---(常用的类hashMap等数据结构、java8特效、快速排序等++) 2:服务框架 ---(rpc:dubbo,REST框架:Spring Web MVC,Spring Boot、Jersey,Apache CXF等) 3:数据库DB ---(mysql/mongodb、乐观悲观锁、事务一致性) 4:负载均衡 ---(高并发系统思想原创 2017-07-03 15:59:05 · 516 阅读 · 0 评论 -
单例模式分析
分析java中的单例模式的实现、多线程并发、在内存中是否会被GC回收? 在一个系统中,要求一个类有且仅有一个对象,如果出现多个对象就会出现“不良反应”时,则可以采用单例模式,具体的场景如下:要求生成唯一序列号的环境;在整个项目中需要有访问一个共享访问点或共享数据,例如一个Web页面上的计数器,可以不用每次刷新都记录到数据库中,使用单例模式保持计数器的值,并确保是线程安全的;创建一个对象需要原创 2014-10-11 15:17:09 · 3139 阅读 · 0 评论 -
如何合理的设置线程数
一、需求缘起Web-Server通常有个配置,最大工作线程数,后端服务一般也有个配置,工作线程池的线程数量,这个线程数的配置不同的业务架构师有不同的经验值,有些业务设置为CPU核数的2倍,有些业务设置为CPU核数的8倍,有些业务设置为CPU核数的32倍。“工作线程数”的设置依据是什么,到底设置为多少能够最大化CPU性能,是本文要讨论的问题。 二、共性认知在进行进一步深入讨论之前,先以提问的方式就...原创 2018-04-11 14:35:55 · 3761 阅读 · 0 评论 -
技术交流,扫描关注技术公众号!
精选各领域互联网技术, 推送前后端、算法、人工智能领域优质技术文章!! 本公众号由阿里、网易、美团等团队组成精选各领域互联网技术, 推送前后端、算法、人工智能领域优质技术文章!! 本公众号由阿里、网易、美团等团队组成。...原创 2018-11-20 20:40:13 · 397 阅读 · 0 评论 -
Java SSM框架相关基础整理
一、Spring面试题1、Spring 在ssm中起什么作用?Spring:轻量级框架作用:Bean工厂,用来管理Bean的生命周期和框架集成。两大核心:①. IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory。②. AOP:面向切面编程 2、Spring的事务?编...原创 2019-01-16 17:28:59 · 456 阅读 · 0 评论 -
Java9都快发布了,Java8的十大新特性你了解多少呢?
Java 9预计将于今年9月份发布,这是否会是一次里程碑式的版本,我们拭目以待。今天,我们先来复习一下2014年发布的Java 8的十大新特性。Java 8可谓是自Java 5以来最具革命性的版本了,她在语言、编译器、类库、开发工具以及Java虚拟机等方面都带来了不少新特性。我们来一一回顾一下这些特性。一、Lambda表达式Lambda表达式可以说是Java 8最大转载 2016-09-22 16:35:55 · 1094 阅读 · 2 评论 -
HashMap的优化与实践
HashMap的优化与实践本文是基于作者在github上的Android 问题交流讨论坛提问而产生的一篇文章,也是自己早打算开坑的一篇文章。文章首先介绍了hashMap的一些基本知识,然后介绍了它在JDK8下的实现原理,最后着重介绍了几个面试中处理大数据的方法,文章比较长,我也写了好久,希望各位能够读完并发表意见。Android 题交流讨论坛是开源达人 Trinea 在gitH转载 2016-08-29 09:17:17 · 1958 阅读 · 0 评论 -
内存队列批量导入日志到搜索引擎
最近着手处理大批量数据的任务。从文本文件中导入数据。到搜索服务器存储。 为了提升性能,用的java并发包中的 阻塞双端队列LinkedBlockingDeque。生产者线程 读取数据。 消费者 从队列中取出数据 提交到搜索引擎package com.lubanec.cache.model;import java.util.concurrent.LinkedBlockingDequ原创 2015-12-03 16:40:23 · 1288 阅读 · 0 评论 -
freemarker 模版引擎
FreeMarker概述FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。原创 2014-10-08 11:34:28 · 1269 阅读 · 0 评论 -
基于注解的Spring MVC 框架搭建及配置详解
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。 一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0)转载 2014-10-09 16:36:51 · 4103 阅读 · 1 评论 -
JAVA中properties配置文件的两种读取方式
很多时候我们看到很多web项目参数。以.properties文件保存。1:直接根据classes文件目录下面的全路径读取单个property配置文件Configuration config = new PropertiesConfiguration("config/property/jdbc.properties");String test=config.getString("se原创 2014-10-12 10:42:56 · 3320 阅读 · 0 评论 -
AtomicInteger类
AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。来看AtomicInteger提供的接口。public final int get()//取当前的值,并设置原创 2014-10-21 18:42:49 · 1186 阅读 · 1 评论 -
有return的情况下try catch finally的执行顺序(最有说服力的总结)
结论:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally转载 2015-01-07 18:32:39 · 684 阅读 · 0 评论 -
Java开发中的23种设计模式详解(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化转载 2014-12-02 12:21:30 · 660 阅读 · 0 评论 -
Spring、SpringMVC中的线程安全问题
转:http://windows9834.blog.163.com/blog/static/27345004201391045539953/springmvc的controller是singleton的(非线程安全的),这也许就是他和struts2的区别吧和Struts一样,Spring的Controller默认是Singleton的,这意味着每个request过来,系统都会用原有的ins转载 2014-12-22 20:53:29 · 1495 阅读 · 0 评论 -
HashMap的存储结构及原理
HashMap是由数组+链表组成;寻址容易,插入和删除困难。(存储单元数组Entry[],数组里面包含链表)3、HashMap、HashTable和ConcurrentHashMap的线程安全问题HashMap:线程不安全的。HashTable:锁住整张hash表,让线程独占。hashMap允许为空。通过分析Hashtable就知道,synchronized是针对整张Hash表的,即每次锁住整张表让线程独占,安全的背后是巨大的浪费。ConcurrentHashMap:一个更快的hashmap,它提原创 2014-12-24 05:05:19 · 9381 阅读 · 1 评论 -
高并发高访问量网站的优化
http://blog.sina.com.cn/s/blog_4de067e40100lgys.html不管怎么样,先要找出瓶颈在哪:是CPU负荷太高(经常100%),还是内存不够用(大量使用虚拟内存),还是磁盘I/O性能跟不上(硬盘指示灯狂闪)?下面是一些解决方案:(里面汲及到的一些技术如:负载均衡,数据库的优化,缓存技术,架构的设计,环境的搭建一定要有意识的去学习)转载 2014-12-25 10:18:18 · 2139 阅读 · 0 评论 -
类加载器的工作原理
类加载器的工作原理Java类加载器的作用就是在运行时加载类。Java类加载器基于三个机制:委托、可见性和单一性。委托机制是指将加载一个类的请求交给父类加载器,如果这个父类加载器不能够找到或者加载这个类,那么再加载它。可见性的原理是子类的加载器可以看见所有的父类加载器加载的类,而父类加载器看不到子类加载器加载的类。单一性原理是指仅加载一个类一次,这是由委托机制确保子类加载器不会再次加载父类加载器转载 2015-04-07 16:47:54 · 910 阅读 · 0 评论 -
秒杀系统 咋做
一、为什么难秒杀系统难做的原因:库存只有一份,所有人会在集中的时间读和写这些数据。例如小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。又例如12306抢票,亦与秒杀类似,瞬时流量更甚。二、常见架构 流量到了亿级别,常见站点架构如上:1)浏览器端,最上层,会执行到一些JS代码2)站点层,这一层会访问后端数据,拼html页面返回给转载 2015-09-06 17:12:25 · 1672 阅读 · 1 评论