- 博客(58)
- 收藏
- 关注
原创 java 关键字 volatile
volatile 是java提供的一个轻量级的同步机制。并发编程:需满足原子性,可见性,有序性原子性:一个操作或多个操作要么都执行,要么都不执行可见性:当多个线程访问同一个变量时,一个线程修改了变量的值,则其他线程能够立即见到修改后的值。有序性:程序执行的顺序按照代码的先后顺序。锁的特性:互斥性和可见性volatile 修饰的变量1、保证可见性,(1)当写一个volatile变量时,JMM会把该线程本地内存中的变量强制刷新到主内存中(2)该写操作,会导致...
2021-03-11 22:54:47
136
原创 java 关键字 transient
我们知道一个对象实现Serializable接口,就可以实现序列化。实现了Serializable接口的类,其所有属性和方法都会自动序列化,而transient修饰的属性可以不被序列化。transient 关键字只能修饰变量,不能修饰方法和类。被transient关键字修饰的变量不能再被序列化,静态变量不管是否被transient修饰,都不能被序列化。被transient关键字修饰的变量真的不能被序列化吗?我们知道在Java中,对象的序列化可以通过实现两种接口来实现,若实现的是Seri.
2021-03-11 22:28:27
191
原创 java 关键字 final
final是什么?final 是一个修饰符。final使用场景?(即如何使用)final 变量、方法、类final修饰类该类是最终类,不能被继承,例如jdk包的String、System,final类中的所有成员方法都会被隐式地指定为final方法final修饰方法该方法不能被子类覆盖(重写),类的private方法会隐式地指定为final方法final修饰变量(成员变量、局部变量)修饰成员变量时,必须在定义时或构造函数中进行初始化赋值,且一旦被赋...
2021-03-10 22:47:37
148
原创 java 关键字 static
在《java编程思想》中对staitc关键字有这样一段描述:static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。static的作用:可以不依赖任何对象而进行调用,即被static修饰的变量和方法不需要依赖于对象来进行访问,只要类加载了,即可通过类名来访问。其使用场景:类:修饰类,只能修饰内部类成为静态内部类,与普通内部类的区别是静态内
2021-03-08 23:25:30
137
原创 linux 下 安装 mysql5.7
1、当前环境 centos7.52、准备mysql5.7 安装包可从https://dev.mysql.com/downloads/mysql/5.7.html#downloads 和https://downloads.mysql.com/archives/community/这两个地址下载;3、创建/usr/local/mysql目录 mkdir mysql将下载的mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz 上传到该目录下,解...
2020-11-26 22:31:37
103
原创 linux 下 安装java 环境
1、当前环境centos 7.52、准备 java 安装文件、从官网下载 jdk ,https://www.java.com/zh-CN/download/manual.jsphttps://www.oracle.com/cn/downloads/下载linux环境下的jdk ,ftp上传到 服务器 /home/java目录下;3.进入到 /home/java 目录下,以管理员身份赋予文件可执行权限 chmod +x4、创建 /usr/local/java 目...
2020-11-24 22:42:53
181
原创 maven 常用命令
1、mvn compile 编译,将Java 源程序编译成 class 字节码文件。2、mvn test 测试,并生成测试报告3、mvn clean 将以前编译得到的旧的 class 字节码文件删除4、mvn pakage 打包,动态 web工程打 war包,Java工程打 jar 包。5、mvn install 将项目生成 jar 包放在仓库中,以便别的模块调用如果执行compil...
2019-08-05 01:36:09
209
原创 docker 常用命令
docker tag 重命名后发现会生成一个不同tag的镜像删除方法docker rmi : 删除本地一个或多少镜像。docker rmi [OPTIONS] IMAGE [IMAGE…]例如本例:docker rmi daocloud.io/library/mysql:5.7.4执行容器mysql:5.7.4docker run -p 3306:3306 --name m...
2019-07-31 00:44:50
177
原创 docker安装遇到的问题及解决办法
windows 7 环境下安装docker ,需要先安装Docker Toolbox ,安装完后,桌面出现点击Oracle VM 出现“获取 VirtualBox COM 对象失败”返回 代码:CO_E_MSI_ERROR (0x80004023)组件:VirtualBoxClientWrap界面:IVirtualBoxClient {d2937a8e-cb8d-43...
2019-07-29 01:29:30
2174
原创 部署maven项目遇到的一些问题
如果执行compile命令:控制台没有任何输出信息,可以在编辑JRE时,在Default VM arguments 输入:-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME执行mvn install 时, 如果报错:[ERROR] No compiler is provided in this environment. Pe...
2019-06-26 18:04:09
226
原创 mybatis 简单理解
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射,MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。mybatis核心流程三大阶段:1...
2019-06-24 07:34:38
387
原创 spring ioc、aop、springmvc 的简单理解
spring ioc容器ioc(控制反转) DI(依赖注入)1、ioc是什么 ioc,即inversion of control,(控制反转),是一种设计思想,不是什么技术,一个重要 的面向对象程序的法则。 在Java开发中,ioc意味着你将设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。 谁控制谁,控制什么? ioc容器控制了对象,主要...
2019-06-23 16:55:45
2204
原创 spring 事务
spring 事务1、事务具有ACID四大特性(即原子性、一致性、隔离性、持久性) (1)原子性(Atomicity):强调事务的不可分割. (2)一致性(Consistency):事务的执行的前后数据的完整性保持一致. (3)隔离性(Isolation):一个事务执行的过程中,不应该受到其他事务的干扰 (4)持久性(Durability):事务一旦结束,数据就持...
2019-06-22 19:34:36
142
转载 多线程
http://www.cnblogs.com/dolphin0520/p/3913517.html一.Java中关于应用程序和进程相关的概念 在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),一般来说名字默认为java.exe或者javaw.exe(windows下可以通过任务管理器查看)。Java采用的是单线程编程模型,即在我们自己的程序中如果没有主动创建线程的...
2019-06-22 18:26:54
109
原创 手写简单springmvc框架 实现思路
1、一般公司对代码的结构: 浏览器请求==》Controller层--》Service层--》Dao层==》数据库 数据请求到后,就会响应返回给浏览器展示2、大纲是:浏览器请求--》controller层 即返回响应给浏览器展示。 controller层: 一般有两种注解@Controller、@RequestMapping 所以先定义这两个注解,实现其功能...
2019-06-22 18:20:40
296
转载 解决eclipse 报错 “JDI Event Dispatch : unable to create new native thread”
工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题、分析问题、解决问题。 一、认识问题:首先我们通过下面这个 测试程序 来认识这个问题:运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse 3.4,测试程序:Java代码 import java.util.concu...
2018-03-30 17:34:08
2685
转载 成为优秀的程序员的特质
作为一个程序员,我经常会问自己一个问题:优秀的程序员都具备哪些特质?我总结过很多特质,例如:有解决问题的能力有独立思考的能力有好奇心、有探索精神逻辑清晰,能够用通俗的语言把技术问题讲清楚有良好的英文阅读能力数学好,算法好经过一段时间的观察,我发现这上面的所有特质,都可以由一种行为习惯衍生出来,也就是如果你有以下习惯,那么你可能拥有且不限于以上所有的特质观察大多数
2017-08-17 15:24:31
479
转载 java面试题(下)
这部分主要是开源Java EE框架方面的内容,包括hibernate、MyBatis、spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相关内容,可以参考我的另一篇文章《Java面试题集(86-115)》。此外,这篇文章还对企业应用架构、大型网站架构和应用服务器优化等内容进行了简单的探讨,这些内容相信对面试会很有帮助
2017-06-05 21:02:11
510
转载 如何优化MySQL
MySQL 提供了内建的耗时查询日志。使用前,打开 my.cnf 文件,将slow_query_log 设置为”On”。 同时将 long_query_time 设置为一个对一次查询来说比较慢的时间(秒数),比如 0.2。slow_query_log_file 设置为你想保存日志文件的路径。然后运行代码,执行时间超过设定上限的查询将会被记录到日志中。一旦定位这些烦人的查询,就可以探究慢
2017-05-12 21:24:35
641
转载 Java RMI 框架(远程方法调用)
RMI(即Remote Method Invoke 远程方法调用)。在Java中,只要一个类extends了java.rmi.Remote接口,即可成为存在于服务器端的远程对象,供客户端访问并提供一定的服务。JavaDoc描述:Remote 接口用于标识其方法可以从非本地虚拟机上调用的接口。任何远程对象都必须直接或间接实现此接口。只有在“远程接口”(扩展 java.rmi.Remote 的接口)中
2017-05-10 13:24:51
468
转载 Spring各jar包详解
Spring各jar包详解 spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar,aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。spring-src.zip就是所有的源代码压缩包。除了spring.jar 文件,Spring 还包括有其它21 个独立的jar 包,各自包含着对应的Spring组
2017-05-02 23:54:47
1017
转载 mvc原理和mvc模式的优缺点
一、mvc原理 mvc是一种程序开发设计模式,它实现了显示模块与功能模块的分离。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。它主要分模型、视图、控制器三层。 1、模型(model)它是应用程序的主体部分,主要包括业务逻辑模块(web项目中的Action,dao类)和数据模块(pojo类)。模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型
2015-02-11 23:45:39
827
转载 Java关键字final、static、this、super使用总结
一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
2015-02-10 17:06:49
633
转载 java常见异常
1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆
2015-02-08 14:18:11
491
转载 【java】判断一个数是不是2的N次方
第一种方法,对N进行循环除以2. Java代码 public boolean nCF(int n){ boolean b = false; while(true){ int j=n%2; n=n/2; if(j==1){ b=false;
2015-02-08 01:03:34
11046
2
转载 java按字节截取带有汉字的字符串的解法
本文转载地址:http://blog.csdn.net/cuker919/article/details/17281691由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串。自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度必须小与数据库的字节长度,即如果最后一个字符为汉字,那么只能去掉
2015-02-07 23:55:58
1552
转载 group by ,where ,having 的用法和区别
having子句与where有相似之处但也有区别,都是设定条件的语句。在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行.而where子句在查询过程中执行优先级别优先于聚合语句(sum,min,max,avg,count)。简单说来:where子句:select sum(num) as rmb from order where id>10
2015-02-06 22:20:37
1287
转载 java 中super、this
"this",作为一个特殊的关键字,它的规则如下: 1。可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。 2。可以在一个类的非static成员内部使用,表示当前这个对象。此时,this就是一个final的普通变量,它有静态类型,就是这个类C本身;它有动态类型,就是当前这个对象的类型。你可以对它调用成员函数,把它传递给别
2015-02-04 23:13:46
847
2
转载 多线程和进程
http://www.cnblogs.com/dolphin0520/p/3913517.html一.Java中关于应用程序和进程相关的概念 在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),一般来说名字默认为java.exe或者javaw.exe(windows下可以通过任务管理器查看)。Java采用的是单线程编程模型,即在我们自己的程序中如果没有主动创
2015-02-04 22:53:56
585
转载 HashMap 自循环遍历
【遍历方法一】[java] view plaincopyfor(Map.Entry entry : hashmap.entrySet()){ System.out.println("Key="+entry.getKey()+"---->value="+entry.getValue().toString()) } 【遍历方法二:用keySet遍历】 [c-sharp] view plai
2015-02-04 21:41:47
979
转载 读取指定文件
import java.io.*;public class Start{ public void readAndRead() { try { FileReader fr = new FileReader("need.txt");//需要读取的文件路径 BufferedReader br = new BufferedReader(fr); String s
2015-02-04 21:38:55
904
转载 JDBC 批量操作
批量删除:DELETE FROM MyTable WHERE ID IN (1,2);sql写法:INSERT INTO TestTable SELECT 1,'abc' UNION SELECT 2,'bcd' UNION SELECT 3,'cde'--TestTable表没有主键,ID不是主键oracle写法:INSERT I
2015-01-30 17:07:33
747
转载 Java Web 应用开发:Play 框架
本文转载地址:http://blog.sina.com.cn/s/blog_6786db2c01013r0x.html使用 Play 框架快速开发 Web 应用简介: 虽然目前有很多种 Java Web 应用开发框架,但 Play 框架是一种新兴的框架,可以帮助开发人员高效的构建 Web 应用。本文详细介绍了 Play 框架的使用,包括模型层、控制层、视图层和 HTTP 路由等内容。通
2015-01-05 23:59:20
1443
转载 Java中的负数
下面这行代码的输出是什么??123publicstaticvoid main(String[] args) { System.out.println(0xffffffff);}下面两行代码的输出相同吗??1
2015-01-05 12:55:59
1813
原创 forward与redirect的区别
forward与redirect的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。还有,转发是在web应用程序之内进行的,可以访问web应用程序所设定的内部目录,像是WEB-INF目录,只能在Web应用程序中进行,不能指定至其它的Web
2014-11-21 14:56:33
1721
原创 struts2、hibernate、spring在SSH中的作用
spring在SSH中的作用spring可以将struts和hibernate纳入自己的管理。例如,struts要调用service层的 UserService.java 的方法,不用spring的话,就要先new 一个UserService,才能调用其中的方法。而用spring则可以把UserService作为一个Struts Action 的属性,由spring去实例化,这样实例化对象
2014-11-13 22:38:57
3368
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人