java.总结
文章平均质量分 77
沧鹫小hai
这个作者很懒,什么都没留下…
展开
-
Redis 哨兵模式
网上有关redis哨兵模式的介绍、安装部署很多也很完善,本文主要记录自己在安装使用redis哨兵模式中的一些问题过程的记录(比较简单的配置使用,详情的配置使用另行百度)。本文介绍基于windows系统。Sentinel(哨兵)是用于监控redis集群中Master状态的工具,是Redis 的高可用性解决方案,sentinel哨兵模式已经被集成在redis2.4之后的版本中。sentinel是redis高可用的解决方案,sentinel系统可以监视一个或者多个redis m...原创 2021-11-30 16:10:26 · 1032 阅读 · 0 评论 -
static 使用
静态什么时候用 1,成员变量是否被static修饰 该成员变量的值是否每一个对象相同,是,用static修饰 不是,不用static修饰,让这些存储到每个对象中。 2,成员函数是否需要被静态修饰呢? 当函数中访问到了对象的特有属性是,该函数不能被静态修饰 如果该函数中没有访问到对象的特有属性,就可以被静态修饰。 简单说:如果函数中访问了成员变量(实例变量),不能静态,否则就可以静态化。 直接被类名调用即可 如果一个...转载 2021-11-22 16:11:45 · 187 阅读 · 0 评论 -
static变量 类实例变量 局部变量的 线程安全问题
线程,是我们项目中绕不过的重点领域。提到线程,就常会听到线程安全的术语。那什么是线程安全呢?通俗点说,就是线程访问时不产生资源冲突。其实,这是一个有点难以定义的概念,不是很容易让人一听就懂的概念。“一个类可以被多个线程安全调用就是线程安全的”《Java编程并发实践》。来说说静态变量、实例变量、局部变量在多线程下的安全问题吧!(一)静态变量:线程非安全 1、静态变量:使用static关键字定义的变量。static可以修饰变量和方法,也有static静态代码块。被stati...转载 2021-11-22 15:58:06 · 2598 阅读 · 0 评论 -
JVM 简析
1,什么是JVM?JVM 是 java虚拟机,是用来执行java字节码(二进制的形式)的虚拟计算机。 jvm是运行在操作系统之上的,与硬件没有任何关系。 注:字节码是Java虚拟机的机器语言。是独立于平台的,由运行在windows中的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码(二进制)是特定于平台的,如果它是在Windows x86中编译的,它将仅在Windows x86中运行。2,JVM的分类类加载子系统。...转载 2021-11-22 15:26:35 · 147 阅读 · 0 评论 -
idea 搭建多模块 spring boot项目框架—1:创建项目
本文只是一种创建方式,但不局限此种方式,且此种方式也可能是比较复杂的方式,只要能达到目的即可。注:前面几张的创建过程图片是借鉴别人的,在此谢谢原作者。先展示LZ创建的项目效果1.创建一个Maven项目注:1、删除src 等不需要的文件 2、在pom文件中添加 <packaging>pom</pac...原创 2019-03-06 22:10:28 · 341 阅读 · 0 评论 -
TCP/IP UDP HTTP
一、IP TCP HTTPTPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、...原创 2018-03-14 16:30:41 · 365 阅读 · 0 评论 -
java编译时与运行时
1、java编译执行代码程序过程java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程。 首先两张图,描述编译和执行的过程:Java代码编译是由Java源码编译器来完成,流程图如下所示:Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode) ...原创 2018-03-14 16:16:44 · 555 阅读 · 0 评论 -
Eclipse/myEclipse项目迁移到idea上注意点
1、 Artifact xxx:war exploded: Server is not connected.Deploy is not available.原因:Idea使用tomcat部署工程时,启动出现:Serveris not connected. Deploy is not available异常,未加载到工程。原因:catalina.bat设置了内存配置 set JAVA_OPTS=-s...原创 2018-03-07 16:36:57 · 1468 阅读 · 0 评论 -
java 动态代理
java动态代理(JDK和cglib)JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理...原创 2018-02-02 16:27:57 · 199 阅读 · 0 评论 -
java开发总结
1、字符串函数substring(beginIndex, endIndex):是冲beginIndex开始(包括beginIndex),到endIndex(但不包括endIndex)。2、字符串函数substring(beginIndex,beginIndex):取值为空。例如String tempStr = "sdfsdf".substring(0,0); (tempStr的值为空"")。3、O...原创 2017-02-24 10:41:50 · 294 阅读 · 0 评论 -
StringBuffer StringBuilder
1、基本原则:如果要操作少量的数据,用String ;单线程操作大量数据,用StringBuilder (线程不安全);多线程操作大量数据,用StringBuffer(线程安全)。2、不要使用String类的"+"来进行频繁的拼接,因为那样的性能极差的,应该使用StringBuffer或StringBuilder类,这在Java的优化上是一条比较重要的原则。3、为了获得原创 2017-05-10 11:21:36 · 322 阅读 · 0 评论 -
值传递、引用传递
1、java中参数是按值而不是按引用传递的,在 Java 应用程序中有且仅有的一种参数传递机制,即按值传递。2、Java 应用程序中的变量可以为以下两种类型之一:引用类型或基本类型。当作为参数传递给一个方法时,处理这两种类型的方式是相同的。两种类型都是按值传递的;没有一种按引用传递。对于上面的话我一直不明白,经查阅资料发现:我们经常看到对于对象(数组,类,接口)的传递似乎有点像引用传递原创 2017-02-22 16:25:21 · 286 阅读 · 0 评论