
【Java】
不专业得Cook
to do it。
展开
-
【缓存--题外篇】session、cookie是什么(二)
session     session的中文翻译是“会话”。session对象存储特定用户会话所需的属性及配置信息。这样当用户在应用程序的web页之间跳转是,存储在session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的web页时,如果该用户还没有会话,则web服务器将自动创建一个sessi原创 2018-09-30 12:32:15 · 277 阅读 · 12 评论 -
JVM之javap命令分析java汇编指令
Javap 命令参数解析原创 2019-08-08 22:34:34 · 774 阅读 · 0 评论 -
调优之容量问题
在经过Tomcat、keepAlived参数调优之后,还是会发现相应时间变长,反应时间变长,TPS上不去的情况。那么我们改如何进行优化呢?对于单台web容器的性能上限我们要掌握线程数量:4核cup8G内存单进程调度线程数800-1000以上后就会花费巨大的时间在cup调度上等待队列长度:队列做缓冲池使用,但也不能无限长,消耗内存,出队入队也会消耗CPU在测试的过程中我们会发现大量的资...原创 2019-08-10 16:05:20 · 344 阅读 · 0 评论 -
【java基础】注解详解
文章目录是什么元注解内置注解工作原理是什么元注解内置注解工作原理最后我们再总结一下整个反射注解的工作原理:首先,我们通过键值对的形式可以为注解属性赋值,像这样:@Hello(value = “hello”)。接着,你用注解修饰某个元素,编译器将在编译期扫描每个类或者方法上的注解,会做一个基本的检查,你的这个注解是否允许作用在当前位置,最后会将注解信息写入元素的属性表。然后,当你进行...原创 2019-08-22 09:00:52 · 407 阅读 · 0 评论 -
Linux下彻底卸载mysql
查看mysql安装情况查看安装情况:rpm -qa|grep -i mysqlmysql-connector-odbc-5.2.5-8.el7.x86_64mysql-connector-java-5.1.25-3.el7.noarchperl-DBD-MySQL-4.023-6.el7.x86_64查看mysql服务运行情况查看mysql服务运行情况:service mysqld...原创 2019-08-11 10:19:42 · 1570 阅读 · 1 评论 -
多级缓存之本地热点缓存实现(guava cache)
文章目录多级缓存缓存设计原则缓冲方式本地热点缓存Google Guava 工具类guava优点guava核心库使用Guava cachepom文件引入依赖使用多级缓存在提高系统性能时,使用了多级缓存的理念,尤其是对于热点数据的访问,如何能够在保证服务稳定性的前提下为更多的用户提供良好的用户体验缓存起到了尤为重要的作用。缓存设计原则使用快速存取的设备,所以尽量使用内存将缓存推到离用户最近...原创 2019-08-22 10:40:26 · 1581 阅读 · 2 评论 -
java断言机制(assert)
概述断言使用的时候不是很多,测试时会使用,总的来说断言还是要慎重。在C和C++语言中都有assert关键,表示断言。在Java中,同样也有assert关键字,表示断言,用法和含义都差不多。在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略...原创 2019-08-18 12:55:40 · 1289 阅读 · 0 评论 -
JVM运行时数据区域详解
程序计数器Java虚拟机栈本地方法栈java堆方法区运行时常量池直接内存原创 2019-08-29 21:03:47 · 334 阅读 · 0 评论 -
一文搞懂JVM--HotSpot虚拟机对象
java对象创建过程检查类加载为新生对象分配内存指针碰撞空闲列表并发问题–CAS并发问题-TLAB初始化为零值执行init方法原创 2019-08-29 21:27:59 · 357 阅读 · 0 评论 -
一文理解反射机制—基础
概述为什么需要反射在解释反射前先认识一下java的静态语言是什么。动态语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。主要动态语言:Object-C、C#、JavaScript、PHP、Python、Erlang。静态语言与动态语言相对应的,运行时结构不可变...原创 2019-09-09 15:47:39 · 644 阅读 · 0 评论 -
动态代理实现AOP-反射的应用
要理解AOP需要这么几个步骤:反射——invoke()——代理——AOP。在上一篇已经介绍了基础的反射是什么,和常见的API是如何使用的在此基础上,说明一下invoke()方法的使用。invoke方法invoke方法用于调用运行时类的指定结构。通过Class类的getMethod(String name,Class…parameterTypes)方法取得一个Method对象,并设置此方...原创 2019-09-09 21:37:51 · 1204 阅读 · 0 评论 -
分布式架构-演进过程
文章目录相关概念初始分布式架构及意义发展过程和历史演变过程难点相关概念初始分布式架构及意义发展过程和历史演变过程难点原创 2019-06-02 21:57:29 · 241 阅读 · 4 评论 -
MyBatis中if标签正确使用方法(Integer类型)
文章目录场景尝试一尝试二尝试三原因场景持久层:MyBatis组合查询一组数据,字段有:String id,String name ,Integer status。由于三个字段都可能为空,所以mapper文件中这样写的:SELECT re.id, re.name, re.status FROM tj_regis...原创 2019-06-12 16:31:27 · 6644 阅读 · 7 评论 -
【缓存--题外篇】session、cookie区别(三)
1 .存取方式的不同Cookie中只能保管ASCII字符串,假如需求存取Unicode字符或者二进制数据,需求先进行编码。Cookie中也不能直接存取Java对象。若要存储略微复杂的信息,运用Cookie是比拟艰难的。而Session中能够存取任何类型的数据,包括而不限于String、Integer、List、Map等。Session中也能够直接保管Java Bean乃至任何Java类,对象等...原创 2018-10-21 22:51:03 · 293 阅读 · 12 评论 -
小舒RESTful
REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功...原创 2019-02-28 16:14:42 · 197 阅读 · 1 评论 -
Linux启动防火墙与指定端口号
文章目录防火墙打开指定端口查看对外开放端口开放端口(port:8080)方法一方法二防火墙查看防火墙状态[root@localhost ~]# service iptables statusptables: Firewall is not running. (防火墙未开启)开启防火墙[root@localhost init.d]# service iptables sta...原创 2019-03-30 16:33:49 · 962 阅读 · 2 评论 -
Unable to open debugger port (127.0.0.1:64812): java.net.SocketException "socket closed
描述:安装了jRebel插件感觉电脑反应有些慢,所以尝试取消使用,但IDEA重启之后就无法debug启动,提示信息:“Unable to open debugger port (127.0.0.1:64812): java.net.SocketException "socket closed(无法打开调试器端口(127.0.0.1:64812):java.net.SocketException“...原创 2019-05-14 12:39:30 · 3149 阅读 · 3 评论 -
分布式通信框架-RMI原理
文章目录什么是RPCJava RMI什么是RPCRPC (Remote Procedure Call,远程过程调用),一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样,通过网络传输去访问远端系统资源,对于客户端来说,传输层使用什么协议,系列化、反序列化都是透明的。在架构演变过程中,随着网站系统用户量的增加、业务功能的扩展,由集中式走向分布式,应用被拆分,在...原创 2019-05-10 09:39:19 · 359 阅读 · 5 评论 -
分布式服务治理-Dubbo常用配置
文章目录多版本支持主机绑定集群容错服务降级配置优先级别什么是SPI多版本支持在多版本升级的时候,特别注意版本的兼容性。 设置不同版本的目的,就是要考虑到接口升级以后带来的兼容问题。在Dubbo中配置不同版本的接口,会在Zookeeper地址中有多个协议url的体现。注册者配置消费者配置主机绑定在发布一个Dubbo服务的时候,会生成一个dubbo://ip:port的协议地址,那么这...原创 2019-05-15 11:40:35 · 517 阅读 · 4 评论 -
IDEA 清除无效的import
项目中有一些无用的包可使用快捷键Ctrl+Alt+O来清除,那么怎么样自动处理呢?打开Settings——General——Auto Import问题设置之后确实生效了,当前页面的多余包没有了,但是没有及时检查是不是其他的也没有了,之后关掉项目后,再次打开发现还有多余的包,而且设置都是正确的,但是不生效,好苦恼,各位是否遇到了这种情况,欢迎解答~~...原创 2019-05-16 21:12:21 · 3385 阅读 · 4 评论 -
java自定义注解和使用
文章目录前言手写注解注解类计算类测试类输出结果前言上一篇对注解是什么和其原理做了简单的介绍(传送门),本篇手写实现一个简单的注解示例。手写注解需求: 一个计算类具有加减乘除方法,当执行方法时要检查其有没有使程序产生异常,如果有则将异常信息显示。注解类@Retention(RetentionPolicy.RUNTIME)public @interface Check {}计算类...原创 2019-09-25 20:25:57 · 610 阅读 · 0 评论