
java后台开发
文章平均质量分 59
Arno-wei
你所谓的迷茫不过是清醒的看着自己沉沦
展开
-
Java内部类引用外部类中的局部变量为何必须是final问题解析
今天编写一个多线程程序,发现在方法内定义内部类时,如果内部类调用了方法中的变量,那么该变量必须申明为final类型,百思不得其解,后来想到应该是生命周期的原因,因为方法内定义的变量是局部变量,离开该方法,变量就失去了作用,也就会自动被消除,而内部类却不会离开它所在方法就失去作用,它有更广的生命周期,下面通过一个实例加以说明: 如例中所示,在外部类Outer中声明了一个内部类TimerPrint,这个类中的方法引用了方法start中的一个局部变量testTxt 逻辑上:因为...转载 2021-02-05 10:42:04 · 504 阅读 · 0 评论 -
Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class data13{public static void main(String[] args){int a=129.转载 2020-12-08 16:12:43 · 298 阅读 · 0 评论 -
java 写入csv文件加密上传至ftp服务器
@Servicepublic class FileUP { /** * 加解密Key */ public static final String ENCODE_RULES = "xxxxxx"; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); @O...原创 2019-01-25 10:17:51 · 2094 阅读 · 2 评论 -
java控制流程
块作用域在深入学习控制结构之前,需要了解块(block) 的概念。 块(即复合语句)是指由一对大括号括起来的若干条简单的 Java语句。块确定了变量的作 用域。一个块可以嵌套在另一个块中。下面就是在 main方法块中嵌套另一个语句块的示例。 public static void main(String口 args) { int n; r• int k;} // k is only defin...原创 2019-01-18 11:13:37 · 457 阅读 · 0 评论 -
java基本数据类型传递与引用传递区别详解
java的值传递和引用传递在面试中一般都会都被涉及到,今天我们就来聊聊这个问题,首先我们必须认识到这个问题一般是相对函数而言的,也就是java中的方法参数,那么我们先来回顾一下在程序设计语言中有关参数传递给方法(或函数)的两个专业术语:按值调用(call by value)按引用调用(call by reference)所谓的按值调用表示方法接收的是调用着提供的值,而按引用调用则表示方...转载 2019-01-11 09:14:54 · 161 阅读 · 0 评论 -
RESTful Web Services -- JAX-RS中的注解
RESTful Web Services -- JAX-RS中的注解1)javax.ws.rs包下的注解: javax.ws.rs.GET、javax.ws.rs.Post、javax.ws.rs.Consumes、javax.ws.rs.Produces、javax.ws.rs.Path @GET 表示(被@GET注解修饰的)方法将处理(响应)来自HTTP的...转载 2018-12-13 08:40:39 · 771 阅读 · 0 评论 -
JAVA CAS的原理
参考文档:http://www.blogjava.net/xylz/archive/2010/07/04/325206.htmlhttp://blog.hesey.net/2011/09/resolve-aba-by-atomicstampedreference.htmlhttp://www.searchsoa.com.cn/showcontent_69238.htmhttp...转载 2018-11-26 16:54:06 · 265 阅读 · 0 评论 -
完成
package com.arno.it;import java.util.ArrayList;import java.util.List;import org.omg.PortableServer.ID_ASSIGNMENT_POLICY_ID;public class Test { public static void main(String[] args) { int a ...原创 2018-11-11 16:10:10 · 194 阅读 · 0 评论 -
Mybatis判断int类型是否为空
分析:正式:1测试:2终止:0不选:null选择终止的时候得到了和不选一样的结果,下图为sql判断语句,以前一直都是这么判断的没有出现过问题错误所在:通过观察log打印的sql语句发现status=0时上述条件是不成立的,百度一搜果然有一些相似问题,说是0在这里转成了null 修改方案:如下图思考:上述语句确实可以解决问题,但既然0被转成了null就算加...原创 2018-09-01 11:30:52 · 2883 阅读 · 0 评论 -
MySQL_插入更新 ON DUPLICATE KEY UPDATE
平时我们在设计数据库表的时候总会设计 unique 或者 给表加上 primary key 的限制条件.此时 插入数据的时候 ,经常会有这样的情况:我们想向数据库插入一条记录: 若数据表中存在以相同主键的记录,我们就更新该条记录。 否则就插入一条新的记录。逻辑上我们需要怎么写:$result = mysql_query('select * from xxx where...原创 2019-01-21 14:55:22 · 349 阅读 · 0 评论 -
replace into和insert into on duplicate key update的区别
在项目中,我们经常会遇到当数据库存在某条记录时,则更新数据,若不存在则插入数据的情况。在mysql中,replace into ...和insert into ... on duplicate key update ... 都可以实现,那么这两种有什么区别呢?replace into和on duplcate key update都是只有在primary key或者unique key冲突的时候...原创 2019-01-21 15:13:11 · 1743 阅读 · 1 评论 -
JsonProperty
spring默认使用的是jackson处理json的序列化和反序列化,@JsonProperty是Jackson的注解,常用于属性上。 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</art...原创 2019-08-23 17:23:50 · 555 阅读 · 0 评论 -
Java 对象释放与 finalize 方法
(转载)https://mazhuang.org/2015/12/15/java-object-finalize/\本文谈论的知识很浅显,只是我发现自己掌握的相关知识并不扎实,对细节并不清楚,遂将疑惑解开,并记录于此。按惯例先上结论,对如下知识点已经清楚的选手可以省下看本文的时间了。结论 对象的finalize方法不一定会被调用,即使是进程退出前。 发生 GC ...转载 2019-07-25 10:48:37 · 484 阅读 · 0 评论 -
java 对象转json忽略某个属性
1、FastJson转Json字符串时,忽略指定属性1.1使用注解@JSONField以下Beanpackage com.gomefinance.esign;import com.alibaba.fastjson.annotation.JSONField;import lombok.Getter;import lombok.Setter;import java.io.Seri...转载 2019-06-18 08:51:52 · 13270 阅读 · 0 评论 -
java 类加载器
类与类加载器虚拟机设计团队把类加载阶段张的"通过一个类的全限定名来获取此类的二进制字节流"这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为"类加载器"。类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限定于类加载阶段。对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每...转载 2019-06-25 17:41:28 · 91 阅读 · 0 评论 -
Java类加载机制
前言我们知道我们写的程序经过编译后成为了.class文件,.class文件中描述了类的各种信息,最终都需要加载到虚拟机之后才能运行和使用。而虚拟机如何加载这些.class文件?.class文件的信息进入到虚拟机后会发生什么变化?这些都是本文要讲的内容,文章将会讲解加载类加载的每个阶段Java虚拟机需要做什么事(加粗标红)。类使用的7个阶段类从被加载到虚拟机内存中开始,到卸载出内存...转载 2019-06-25 17:40:28 · 103 阅读 · 0 评论 -
javac 编译原理 1.0杂谈 Scala中的Any、Nothing、Null、Nil
Scala中的Any、Nothing、Null、NilAny在scala中,Any类是所有类的超类。Any有两个子类:AnyVal和AnyRef。对于直接类型的scala封装类,如Int、Double等,AnyVal是它们的基类;对于引用类型,AnyRef是它们的基类。Any是一个抽象类,它有如下方法:!=()、==()、asInstanceOf()、equals()、hashCo...转载 2019-04-02 18:29:16 · 297 阅读 · 0 评论 -
JCIFS简介and利用JCIFS网络文件共享实现上传下载
JCIFS是一个开源实现100%的Java的CIFS/SMB网络协议的客户端库。CIFS是MicrosoftWindows平台(如映射网络驱动器)上的标准的文件共享协议。此客户端被广泛应用于生产大型企业网。JCIFS开源项目官网:https://jcifs.samba.org/例子:导入jcifs-jar到项目中就可以使用了。<dependency>...原创 2019-03-28 09:46:14 · 1804 阅读 · 0 评论 -
JConsole
Jconsole 是jdk自带的工具,在%JAVA_HOME%\bin\jconsolewindows下启动:打开CMD,输入jconsole一、JConsole是什么 从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “...转载 2019-03-12 15:30:13 · 404 阅读 · 0 评论 -
java 解析XML DocumentBuilderFactory
得到 DOM 解析器的工厂实例 DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();然后从 DOM 工厂获得 DOM 解析器 DocumentBuilder dombuilder=domfac.newDocumentBuilder(); 3 )把要解析的 XML 文档转化为输入流,以便 DO...转载 2019-01-26 10:17:53 · 519 阅读 · 0 评论 -
freemarker页面判断重复值不输出
freemarker 界面 table 循环的时候判断是否有重复值出现,如果有不输出继续下次循环,写套餐明细用到;<td > <#if (item.itemGroupAccounts?size >0)> <#list item.itemGroupAccounts as account> ...原创 2018-04-11 12:03:35 · 1698 阅读 · 0 评论 -
spring事务一 事务属性分析
事务隔离级别spring中的隔离级别隔离级别是指若干个并发的事务之间的隔离程度。TransactionDefinition 接口中定义了五个表示隔离级别的常量:TransactionDefinition.ISOLATION_DEFAULT:这是默认值,表示使用底层数据库的默认隔离级别。对大部分数据库而言,通常这值就是TransactionDefinition.ISOLATI原创 2018-01-15 19:10:38 · 225 阅读 · 0 评论 -
spring的依赖注入和工作原理
1、设置注入IoC容器使用setter方法来注入被依赖的实例2、构造注入构造实例,完成依赖实例的初始化。-->创建实例时机不同设置注入,先通过无参构造器创建一个调用者实例,在调用对应的setter方法注入依赖关系。构造注入,直接调用有参构造方法,调用者创建完,也完成了依赖关系的注入。优缺点:设置注入,JavaBean相似,易理解,构造注入,臃肿,难阅读,性能低转载 2018-01-23 14:47:47 · 276 阅读 · 0 评论 -
dubbo的使用及原理浅析
Dubbo是什么?Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Dubbo[]是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含:远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括转载 2018-01-22 10:38:19 · 199 阅读 · 0 评论 -
N个tomcat之间实现Session共享
前言转载请标明出处:http://blog.youkuaiyun.com/wlwlwlwl015/article/details/48160433对于高访问量、高并发量的网站或web应用来说,目前最常见的解决方案应该就是利用负载均衡进行server集群,例如比较流行的nginx+memcache+tomcat。集群之后比如我们有N个Tomcat,用户在访问我们的网站时有转载 2018-01-12 17:29:00 · 385 阅读 · 2 评论 -
SpringBoot学习:(二)使用logback进行日志记录
(一)pom.xml文件中引入jar:[html] view plain copy dependency> groupId>org.springframework.bootgroupId> artifactId>spring-boot-starter-loggingartifactId>转载 2017-12-15 16:53:10 · 191 阅读 · 0 评论 -
SpringBoot学习:IDEA中快速搭建springboot项目
项目下载地址:http://download.youkuaiyun.com/download/insis_mo/10156486(一)IDEA中创建maven web项目创建好项目后设置项目的编译路径:(二)引入spring-boot项目所需的jar包:[html] view plain copyparen转载 2017-12-15 11:30:09 · 893 阅读 · 0 评论 -
Linux centos7下安裝配置redis及Redis desktop Manager工具連接註意事項
基本工具:VMware12、CentOS-7-x86_64-Everything-1611.iso、redis-desktop-manager-0.8.0.3841廢話不多說,首先,關於什麼是Redis、Redis的安裝,請下載這個文檔去閱讀。http://download.youkuaiyun.com/download/insis_mo/10159686閱讀完安裝Redis的文檔後,转载 2017-12-15 10:42:20 · 1657 阅读 · 1 评论 -
while和if的区别
刚在看多线程通信的时候用到了判断,发现while和if还是有区别的,以前想当然认为都是判断条件的,while循环语句,可以执行多次,if是条件语句,只是单次执行。while(表达式) 语句组; 计算表达式,若为真,执行语句,并重复该过程,直到为假时,执行下一条语句。 例如:while(k>0)i++;表示只要k>0,就执行i++;直到等到k比如多线程中的语句:原创 2017-12-21 17:52:56 · 5679 阅读 · 1 评论 -
2小时学会springboot
转自http://blog.youkuaiyun.com/forezp/article/details/61472783 本文出自方志朋的博客一.什么是spring bootTakes an opinionated view of building production-ready Spring applications. Spring Boot favors conventi转载 2017-12-13 11:08:35 · 643 阅读 · 0 评论 -
java堆、栈、方法区、常量池
1:栈 在函数中定义的一些基本类型的变量数据和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当该变量退出该作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 每个线程包含一个栈区,每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。栈分为3个部分:转载 2017-09-18 18:40:37 · 338 阅读 · 0 评论 -
BigDecimal运算
BigDecimal bignum1 = new BigDecimal("10"); BigDecimal bignum2 = new BigDecimal("5"); BigDecimal bignum3 = null; //加法 bignum3 = bignum1.add(bignum2); System.out.println("和 是:"原创 2017-07-27 15:27:35 · 228 阅读 · 0 评论 -
mysql查询数据的同时对它进行删除操作
今天遇见一个问题,需要把mysql数据库里面的 商品主表 和它的每一个条目对应不上的数据给全部删除(数据如下图);也就是整理一下数据库里的数据保证数据的可用;但是出现了问题; 我是先查出来productId 然后判断主表里的哪些productId不在这些productId里面直接删除,之前是这个样子写的delete from wy_product_v1 where productI原创 2017-08-02 16:41:52 · 3385 阅读 · 0 评论 -
spring事务二编程式事务
二、编程式事务xml的配置基于 TransactionTemplate 的编程式事务管理现在就可以在Spring管理的Bean中注入并使用:[java] view plain copy@ContextConfiguration(locations = {"classpat原创 2018-01-16 11:02:16 · 327 阅读 · 0 评论 -
部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi
java.lang.ClassNotFoundException: ContextLoaderL严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListenerjava.lang.ClassNotFoundException: org原创 2018-01-24 11:03:12 · 138 阅读 · 0 评论 -
Shiro安全框架入门篇(登录验证实例详解与源码)
一、Shiro框架简单介绍Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证,授权,企业会话管理和加密等。Shiro的具体功能点如下:(1)身份认证/登录,验证用户是不是拥有相应的身份; (2)授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见转载 2018-01-24 11:12:48 · 183 阅读 · 0 评论 -
jquery之mmgrid插件的使用教程
一、前言mmgrid官方文档地址为:http://www.jq22.com/demo/mmGrid-master20150916/examples/index.html;虽然有官方文档,但文档中明显缺少了实际应用的demo,导致很多朋友在看了文档后依然一头雾水,不知道该如何下手。鉴于这一点,本人基于长期使用mmgrid的经验,特写一篇关于mmgrid的使用教程。以便帮助各位同道朋友快速对它上下其手...转载 2018-03-14 10:37:41 · 2507 阅读 · 0 评论 -
dubbo+zookeeper+springmvc搭建实例教程
节点角色说明:Provider: 暴露服务的服务提供方。Consumer: 调用远程服务的服务消费方。Registry: 服务注册与发现的注册中心。Monitor: 统计服务的调用次调和调用时间的监控中心。Container: 服务运行容器。一、本篇概述本篇分两个部分。 第一,搭建好provider和consumer后,使用Main方法阻塞来模拟,不涉及到Sprin转载 2018-01-29 17:23:52 · 190 阅读 · 0 评论 -
Zookeeper数据查看工具ZooInspector
Zookeeper作为常用的集群协调者组件被广泛应用,尤其是在大数据生态圈中;Zookeeper集群存储各个节点信息,包括:Hadoop、Hbase、Storm、Kafka等等;二、查询ZK数据的方式那如何查看Zookeeper中的数据呢,我们可以通过ZkCli.sh命令客户端查看,但是不太直观,因为ZK本身数据是以树型结构存储组织的,所以今天推荐一个实用的界面操作工具ZooI原创 2018-01-29 15:56:13 · 7698 阅读 · 2 评论 -
Redis实战之征服 Redis + Jedis + Spring (一)
一、简述spring把专门的数据操作独立封装在spring-data系列中,spring-data-redis自然是针对Redis的独立封装了。当前版本1.0.1,主要是将jedis、jredis、rjc以及srp等Redis Client进行了封装,同时支持事务。已经让我垂涎欲滴了。当然,当前版本不支持Sharding。例如,前文曾经通过Jedis通过Client配置,实现一转载 2018-01-20 16:44:30 · 239 阅读 · 0 评论