文章分类 - Java基础
所有与Java相关的技术
摘要:具体存储 线程私有:程序计数器、Java虚拟机栈、本地方法栈 所有线程共享:Java堆、方法区 一.程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器,在虚拟机模型里,字节码解释器的工作时就是通过改变这个计数器的值来选择下一条需要执行的字节码指令,分支、循环、
阅读全文
摘要:两种限流算法: 1.令牌桶算法:先以一定的速度生产令牌放到桶中(桶满丢弃),然后消耗桶中的令牌,当桶中的令牌小于n时,则限流 通俗说法:桶里的水快用没了,就限流 2.漏桶算法:请求到达,然后处理,当处理的速度比较慢时,桶中的水就会累积,当桶满的时候,则限流 通俗说法:池子里的水,一个进口,一个出口,
阅读全文
摘要:内存可见性 volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演着比较重要的角色。同synchronized相比(synchronized通常称为重量级锁),volatile更轻量级,相比使用synchronized所带来的庞大开销,倘若能恰当的合理的使用volatile,自
阅读全文
摘要:参考:https://blog.csdn.net/zhoucheng05_13/article/details/77915294 1.修改pom.xml 2.修改application 在IDEA右侧Maven栏双击package等待Build Success即可。 然后把target目录下的war
阅读全文
摘要:1.【强制】Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。 正例:"test".equals(object); 反例:object.equals("test"); 说明:推荐使用 java.util.Objects#equals(JDK7 引入
阅读全文
摘要:1.类型 2.常量定义关键字:const 3.定义实体类关键字:struct 4.定义service关键字:service 5.namespace: eg:namespace java com.XXX.XXX 6.引入其他thrift文件 1)include 其他文件 2)typedef 文件里的类
阅读全文
摘要:一.ZooKeeper介绍 ZooKeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现注入数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。ZooKeeper可以保证如下分布式一致性特征。 1.顺序一致性 从同一
阅读全文
摘要:1、String 常量池 String使用private final char value[ ]实现字符串的存储,也就是说String创建对象之后不能够再次修改此对象中存储的字符串内容,因而String类型是不可变的(immutable),因而String类是线程安全的。 其中字符串的分配,和其他的
阅读全文
摘要:虚拟机监控和故障处理 JDK监控和故障处理工具 用法:1.cmd 2.然后直接输入命令回车:输入以jps为例(jps) 1.jps命令:虚拟机进程状况工具 格式:jps [options] [hostid],hostid为RMI注册表中注册的主机名。 列出正在运行的虚拟机进程,并显示虚拟机执行主类名
阅读全文
摘要:一.对象已死么 1.1引用计数算法:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就+1;当引用失效时,计数器值就-1;任何时候计数器为0的对象就是不可能再被是使用的。 1.2可达性分析算法:通过一系列的成为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称
阅读全文
摘要:调用栈里的引用类型数据是GC的根集合(root set)的重要组成部分;找出栈上的引用是GC的根枚举(root enumeration)中不可或缺的一环。 JVM选择用什么方式会影响到GC的实现: 如果JVM选择不记录任何这种类型的数据,那么它就无法区分内存里某个位置上的数据到底应该解读为引用类型还
阅读全文
摘要:1.对象的创建 虚拟机遇到一条new指令,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过,如果没有,那必须先执行相应的类加载过程。 在类加载检查通过后,将为新生对象分配内存。为对象分配空间的任务等同于把一块确定大小的内存从jav
阅读全文
摘要:运行时内存区域 1.程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令、分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 每条线程都需
阅读全文
摘要:Cookie在HTTP的头部,所以通常的gzip和deflate针对HTTP Body的压缩不能压缩Cookie,如果Cookie的量非常大,则可以考虑将Cookie也做压缩,压缩方式是将Cookie的多个k/v对看成普通的文本,做文本压缩。压缩算法同样可以使用gzip和deflate算法,但是需要
阅读全文
摘要:一.cookie属性项(version 1) 二.Cookie如何工作 创建cookie: response.addCookie(new Cookie("username","lzl")); 取值:
阅读全文
摘要:类似的sql:select count(distinct(seller_id)) from flow;在数据库工具可以执行,用hibernate就不能执行报错 解决方式:改成select count(distinct seller_id ) from flow;(当然这个语句在数据库工具里也可以执行
阅读全文
摘要:一.秒杀活动的技术挑战 1.对现有网站业务造成冲击 2.高并发下的应用、数据库负载 3.突然增加的网络及服务器带宽 4.直接下单:秒杀的规则是到了秒杀时间裁能开始对商品下单购买,在此时间点之前,只能浏览,不能下单,如果下单页也是一个普通的url的话,那么只要得到这个url,还没等活动开始就可以下单了
阅读全文
摘要:网站的安全架构 一. 网站应用攻击与防御 攻击新浪微博的手段被称作XSS攻击,它和SQL注入攻击构成了网站应用攻击最主要的两种手段,全球大约70%的web应用攻击都来自XSS攻击和SQL注入攻击。此外,常用的web应用还包括CSRF、session劫持等手段。 1.XSS攻击 XSS攻击即跨站点脚本
阅读全文
摘要:1.Cookie普通用法 增加 cookie 安全性添加HttpOnly和secure属性 一、属性说明: 1 secure属性 当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不
阅读全文
摘要:网站伸缩性架构 京东在2011年年末的图书促销活动中,由于优惠幅度大引得大量买家访问,结果导致网站服务不可用,大部分用户在提交订单后,页面显示“service is too busy”。当天晚上,京东老板刘强东在微博上发布消息称,已购买多台服务器以增加交易处理能力,第二天继续促销一天。结果第二天,用
阅读全文
浙公网安备 33010602011771号