自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 JAVA8反射获取方法参数名

jDK1.8的修改,在JDK8中,反射可以得到方法参数名了。是因为Method类加了新的方法public Parameter[] getParameters()但是实际项目中得到的确是arg0这样的参数名。请看下面代码:public static void main(String[] args) throws NoSuchMethodException { final Method...

2019-11-22 12:29:06 677 1

原创 JDBC以SSL方式连接MYSQL

网络上推荐的做法是配置useSSL=false但是如果服务器配置了强行SSL连接呢,就会报这个错Connections using insecure transport are prohibited while --require_secure_transport=ON.所以只能配置useSSL=true但是紧接着又会报这个错java.security.cert.Certificat...

2019-10-12 14:30:09 10951 2

原创 调用wx.relaunch报错:fail can not invoke relaunch in background

微信小程序报错的原因是小程序进入后台后,不能调用relaunch函数。在支付成功的回调函数,是在一个异步的线程里执行的,所以relaunch一定失败。使用setTimeout也一定会失败,这个时候,就需要想办法让它在主线程里执行。微信的setData有个回调,就是在主线程里执行的,所以支付后跳转的唯一解决方案是"success": function(res) { that.setD...

2019-09-09 20:02:43 1353

原创 spring registrar机制

其实Spring的registrar机制是为了配置类上的自定义注解的。如果配置类上有自定义注解,那么spring就会读取这个自定义注解,看这个自定义注解是否有import属性。在spring的这个方法里org.springframework.context.annotation.ConfigurationClassParser#processImports会处理自定义注解的import属性。I...

2019-06-21 16:03:30 1131

原创 kotlin数字与java数字的不同

kotlin的数字与java的数字完全不同1 表示long类型不能使用小写l,只能使用大写L,比如这个就要报错val l = 1l2 没有八进制,下面也是要报错的val i = 0113 不支持十六进制科学计数法表示double,这样写也不行val d = 0x3p34 大数字不需要加大写L,会自动转换为long类型val bigNumber = 10000000000000...

2019-03-08 15:08:42 363

原创 使用kotlin开发spring boot

开发起来还是特别难的,因为我对kotlin不是很了解。从网上copy的代码如下:@SpringBootApplicationopen class Main{ companion object { @JvmStatic fun main(args:Array<String>) { SpringApplication...

2019-03-03 21:01:25 501

原创 RSA算法JAVA通用代码

一 获取密钥KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");KeyPair keyPair = keyPairGenerator.generateKeyPair();PrivateKey privateKey = keyPair.getPrivate();二 保存公钥 因为公钥是二进制...

2018-08-21 20:48:51 1901

原创 java与python++运算符的不同

我是先学java,再学python的。 今天就遇到了一个坑。 就是++和–运算符。 在java中++a,是使a增加1,然后返回增加之后的值。 但是在python中,++是两个正号,所以变量的值不会变。 另外,在python中,a++是会报语法错误的。 –也一样哦。在python中,–a是负负得正,所以直接返回a。而a–会报语法错误。...

2018-04-23 13:17:59 292

原创 python之禅

在python命令行模式下,输入import this,会输出一堆意想不到的东西。如下:>>> import thisThe Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better than comple...

2018-03-17 10:47:38 226

原创 Class文件格式

一 总体结构 class文件用C语言的结构体这样表示ClassFile { u4 magic; u2 minor_version; u2 major_version; u2 constant_pool_count; cp_info constant_pool[constant_pool_count-1]; u2 access_flags;...

2017-12-23 10:25:39 1256 1

原创 Kotlin的解构定义

众所周知,kotlin是一种划时代的编程语言,犀利的语法减少了我们很多的工作量。解构定义就是如此。 变量的解构定语法义如下:val (name, age) = jane 解构语法可以快速地将对象的各个属性赋值给一串变量。就比如上例,将jane这个人的名字与年龄属性赋值给name和age这两个变量。 如果要解构,必须是类有componentN函数。jane这个对象的name和age属性的...

2017-12-17 17:43:05 571

原创 Kotlin const关键字

只读属性使用const关键字之后将没有get方法,举个例子 在kotlin文件中,写两个包级属性,一个是const,一个不是constconst val i = 1val j = "A"使用java代码访问,访问方式是不同的public class TestConst { public static void main(String[] args) { ...

2017-12-17 17:38:15 2564

原创 JAVA EE环境使用JMX

J2EE怎么使用JMX?目前支持java EE的服务器有很多,比如web logic、glassfish、wildfly。我用的比较多的服务器是wildfly。那么拿WILDFLY服务器来做个DEMO。 首先看看WILDFLY服务器配置文件。<subsystem xmlns="urn:jboss:domain:jmx:1.3"> <expose-resolved...

2017-12-17 17:32:36 288

原创 Kotlin的==与===

kotlin是一种全新的编程语言,不仅仅可以编写Java/JVM平台的代码,也可以编写js代码,甚至可以编写本地代码。 本文不过多赘述kotlin的语言特性,只讲一个重点,就是讲述==与===号的区别。 简单一点,==就是equals方法,而===就是比较是否为同一对象。也就是说,==相当于Java的equals方法,而===相当于Java的==。 这是kotlin的运算符重载,在kotli...

2017-11-27 12:54:18 602

原创 sqlite自增长

sqlite的自增长和mysql有所不同。 语法上mysql是auto_increment,而sqlite是AUTOINCREMENT。 其次sqlite的自增长只能用在INTEGER字段上,不能用在INT上。INT和INTEGER的区别我还没搞清楚,哈哈。 比如下面的句子就是正确的。create table POEM_CATEGORY( ID INTEGER PRIMARY KEY

2017-09-02 12:09:27 682

原创 GWT RPC 开发

GWT RPC 开发 Ajax是谷歌GWT的特色,不使用GWT的ajax功能,就没必要使用GWT。GWT的ajax开发步骤比较复杂。 一 三个java类 GWT有两个源代码包,一个客户端包,一个服务端包。客户端包放两个接口,一个服务接口,一个异步服务接口。 服务端包写实现类 1.1异步服务接口,类名必须是服务接口+Async. 1.2异步服务接口的方法返回值必须是void,前几个方法参数

2017-08-04 11:30:08 825

原创 spring cloud ribbon配置

spring cloud ribbon客户端有诸多配置,但是配置怎么写呢? 看文档不如看源码。 我们一般会配置服务器列表,比如 hello: ribbon: listOfServers: http://localhost:8080 但是除了listOfServers还可以配置什么?答案就在这个类里:com.netflix.client.config.CommonClientC

2017-07-26 16:46:43 691

原创 Redis append命令

Redis的append命令是往一个key追加value。如果没有key,则创建一个并且设置value。 下面是个例子:PS C:\work\redis64-2.8.2101> .\redis-cli.exe -h 192.168.1.110192.168.1.110:6379> auth 123456OK192.168.1.110:6379> append str Hello(integ

2017-06-27 09:27:28 588

原创 Node.js对象继承方式

node.js实际上没有类,但是node是可以实现继承的。一般我们说的继承,包括属性继承与方法继承。拿经典的面向对象语言java来说,比如父类是A,子类是B。B能够继承A的所有非private属性。但是js不一样。我们比较下两者的少数几个不同点 不同点 Java NodeJs 访问修饰符 支持 不支持 动态增加属性 不支持 支持 动态增加方法 不支持

2017-06-27 00:20:20 1501 1

原创 NODE.JS socket客户端

Socket客户端非常简单。建立客户端需要用到Scoket对象。 使用该对象的connect方法发送信息,使用data事件接收信息。 比如我要发送一个http请求,就可以可以这样写代码:var net = require('net');var client = new net.Socket();client.connect(80,'192.168.0.116',function(){

2017-06-24 02:19:26 1112

原创 Node.js TCP服务端

node.js的TCP编程使用的是net模块。这个模块是node自带的,不需要任何第三方库。它的server端编程核心对象是Server对象。 Server对象要正常工作,有两个属性必不可少。 1 监听端口 2 connection事件处理函数 这个对象只能通过调用net.createServer()创建。这个createServer方法可以传入事件处理函数对象。可以传空,然后调用Serve

2017-06-24 01:08:50 1015

原创 利用断言提高mybatis程序健壮性

在开发web应用程序时,我们会用到spring的事务和mybatis框架。现代的spring程序,一般使用spring注解来声明事务。一般来说,事务写在service层上,一个service方法里会调用若干个dao方法。一旦其中一个出了异常,整个service层会回滚事务。但是这样就绝对的安全了吗?至少在mybatis程序不是这样。 我们思考这样一种情况,程序员SQL错误。最常见的是update忘

2017-06-20 15:27:58 547

原创 Express获取请求参数

HTTP请求的参数无外乎这么几种 1. query参数 2. form参数 3. path参数 4. matrix参数 5. cookie参数 6. header参数 这六种参数中,express暂不提供api直接获取matrix参数。其余五种都支持。但是header参数无法枚举。 简单介绍下这些参数的获取Query参数 Req.queryForm参数 Req.body,需

2017-06-19 23:40:53 5444

原创 Node.JS Express入门

Node.js项目。如果用npm来管理,那么package.json就是必不可少的。 如果要使用Express,那么package.json可以写得很简单。{ "name":"expressdemo", "dependencies":{ "express":"^4.14.4" }}Package.json必须严格遵守JSON规范,也就是说字段名必须加双引号

2017-06-19 15:26:51 252

原创 spring boot整合mybatis

Spring整合mybatis其实很简单啊。 首先是一个jar包的问题,使用maven可以很方便地配置<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <gro

2017-06-16 10:23:51 578

原创 spring boot集成jsersey

搭建完了springboot环境后,集成JAX-RS就很简单了。 要集成JAX-RS,首先得考虑清楚,供应商选谁。因为JAX-RS是J2EE的标准,但是J2EE自己从来不去实现,靠各个厂商来实现,目前用的多的实现是两家,一家是glassfish的jersey,一家是jboss的resteasy。 不幸的是,spring只能和jersey集成。Resteasy就没法用啦。 要集成,第一步还是加j

2017-06-15 15:30:29 755

原创 spring boot环境搭建

搭建spring boot项目是相当简单的,没有那么多的配置。而且启动方式是用main函数启动,不需要tomcat等容器,相当方便。 搭建任何项目,第一步都是找jar吧。 我记得以前不使用maven的时候,全都放在web-info/lib里。那个时候,jar包管理真是痛苦。时不时就classnotfound。 后来有了maven,这个问题就几乎不出现了。 Spring boot的maven只

2017-06-15 15:28:06 367

原创 EJB客户端访问

EJB客户端访问 因为EJB是一个重量级的框架,拿常用的会话EJB来说,本地EJB还不如J2EE的CDI,所以只有远程EJB才是EJB的核心内容。远程EJB的访问协议有很多种,有HTTP协议、HTTPS协议、netty等等。 要写一个完整的EJB客户端,项目中必须有这么几个东西: 1 EJB客户端调用库 2远程EJB的客户端接口 3 配置 4 访问代码(这个有点画蛇添足,哈哈) 一 首

2017-06-15 09:26:58 479

原创 REST技术第八步 head参数与cookie参数

Head参数的获取超级简单,用@HeaderParam注解就够了。 下面就是一个获取head的例子: @GET @Produces(MediaType.TEXT_PLAIN) public String get(@HeaderParam(“User-Agent”)String userAget){ return userAget; } 同样,获取cookie也很简单,用@Coo

2017-06-13 19:32:34 1816

原创 REST技术第七步 操作cookie

在response中设置cookie,在JAX-RS的API中需要怎么做? 首先需要用到一个类:javax.ws.rs.core.NewCookie。这个类是继承自cookie类的。 首先资源类则不能返回正常的HTTP实体了。因为这样就没法设置cookie。 举个例子,下面这种方法就没法添加cookie了。@POSTpublic String post(){ return"hello

2017-06-13 16:19:48 2228

原创 Mysql帮助的使用

MySQL帮助的使用 在mysql中使用帮助很简单,只要输入问号+关键字就行了。 比如说 mysql> ? explain Name: ‘EXPLAIN’ Description: Syntax: {EXPLAIN | DESCRIBE | DESC} tbl_name [col_name | wild]{EXPLAIN | DESCRIBE | DESC} [ex

2017-06-09 11:35:32 343

原创 EJB定时器

EJB的定时器使用 EJB定时需要在一个EJB(可以是单例或无状态EJB)内,写一个public方法,返回值为void,参数为空。加上javax.ejb.Schedule注解就行了。 EJB定时器,我们常用的就是三个属性,时分秒。 这三个值默认值都是0。年月日默认值是*。 *的意思是每次都执行,0的意思是值为0时才执行。 如果说我们在注解中什么都不加,那么这个方法会在每天凌晨0点0分0秒时

2017-06-09 11:15:51 671

原创 Nginx配置HTTPS

生成没有密码的文件 要使用https,那么需要四个步骤 第一步生成key openssl genrsa -des3 -out ilovewqf.xicp.net.key 这个命令不写强度,默认强度就是1024 生成没有密码的key文件,但是还是要输入密码 openssl rsa -in ilovewqf.xicp.net.key -out ilovewqf.xicp.net.nopas

2017-06-09 11:13:35 439

原创 MYSQL字符串处理函数

INSTR 这个函数相当于JAVA的indexOf。 SUBSTR,这个函数相当于javascript的substr,但是不同于java的substring,因为第二个int参数代表的是长度,而不是尾索引。 比如 select INSTR(title,”·”) from poem where poemCollection_id =3; 比如下面一个SQL语句就是按点号拆分词牌名的SQL语句。

2017-06-09 11:12:06 362

原创 MYSQL主从复制

首先看版本,从服务器版本要高于主服务器。 1 主服务器配置 log_bin=mysql-bin server_id=1 binlog-do-db=zghdata binlog-ignore-db=test,mysql,sys 2 主服务器添加账号 mysql> CREATE USER ‘repl’@’%.mydomain.com’ IDENTIFIED BY ‘slavepass’;

2017-06-09 11:11:02 333

原创 JPA事件

JPA事件 在实体写一个返回值为void的方法,方法参数为空 然后在方法上加事件注解,能触发响应的事件,常用的是创建前事件,用于插入数据库前初始化某些字段。 比如 /** * */ @PrePersist public void init(){ setEncrypted(true); }该代码是在插入数据库前将已加密设置为true。 其余的事件有

2017-06-09 11:09:07 810

原创 JPA的修改操作

JPA的修改操作 JPA的修改有很多种方式,这里罗列常用的几种: 一 调用set方法 二 JPAQL语句修改 三 SQL语句修改 四 JPA 标准查询 下面详细讲讲四种修改方式,以项目代码为例子。 一 调用set方法。 JPA通过JPAQL,实体管理器主键查询,JPA标准查询三种方式得到的java对象被称为实体。在事务管理器的事务范围内的实体,都是持久态实体。JPA会代理持久态实体的

2017-06-09 11:07:53 23831 4

原创 Power shell的数学运算

在命令行直接输入就行了,支持加减乘除取模和括号PS C:\work> 1+2+36此外数学运算还支持字节单位,比如gb ,mb,kbPS C:\work> 1kb1024而且支持16进制PS C:\work> 0X1117Pi是数学运算里经常用到的常量,在powershell里使用起来比较麻烦 这么用PS C:\work> [Math]::PI*618.8495559215388[Math

2017-06-08 12:07:46 1879

原创 Power Shell的反射

我总是拿Java的思维去理解powershell,power shell的get-member,按我的思维模式来说,就是反射。比如对1进行反射PS C:\work> 1|get-Member TypeName:System.Int32Name MemberType Definition---- ---------- ----------CompareTo M

2017-06-08 11:51:09 900

原创 Power shell装箱与拆箱

POWER SHELL装箱与拆箱 Powershell是一个强大的运维工具啊 以前我一直以为是加强版的cmd,现在发现不仅仅是加强版的cmd,它的功能堪比编程语言。 Powershell和cmd一样可以定义变量 但是我们可以试一波水。PS C:\work> 1.Equals(1)1.Equals : 无法将“1.Equals”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查

2017-06-08 11:27:25 362

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除