- 浏览: 429729 次
- 性别:
- 来自: 上海
最新评论
-
书策稠浊:
兄弟,这tm是Java?
java调用百度地图和谷歌地图 -
fengyunlouyanyu:
jquery----删除指定id的div下的img -
yangjianzhouctgu:
Neoman 写道hi,我看你引入了kendo.web.min ...
kendo-ui中kendoGrid的用法 -
Neoman:
hi,我看你引入了kendo.web.min.js 这个js, ...
kendo-ui中kendoGrid的用法 -
yangjianzhouctgu:
llscp 写道这是JS吧...对的呀
java调用百度地图和谷歌地图
文章列表
在开发中,经常会有上传文件的需求,为了安全起见,防止上传恶意文件,需要对文件类型进行检查。网上一般有两种方式:
1、对文件扩展名进行检查,符合指定扩展名的文件才可以上传成功
2、对文件头进行检查,文件头的魔数符合预期(每种文件的魔数都是已知的),才可以上传成功
第1种方式有明显的缺陷,用户可以通过修改扩展名来通过检查,
第2种方式可以满足绝大多数场景,但是也有缺点,它不去判断文件扩展名
jmimemagic就是利用文件头中的魔数来判断文件类型的开源工具。
其地址见:https://github.com/arimus/jmimemagic.git
其获取文件类型流程如 ...
可执行jar包的配置与运行
- 博客分类:
- java
spring boot项目可以以jar包的形式执行运行。spring boot技术目前很火,因此了解可运行jar包的制作和执行过程很重要。
1、项目结构如下
2、我们以config模块为例子,其gradle文件配置如下
group 'spring-cloud-in-action'
version '1.0-SNAPSHOT'
apply plugin: 'java'
sourceCompatibility = 1.8
/**
* 自定义变量
*/
ext.vendor = 'IWill'
ext.email = 'yangjianzhouctgu@126 ...
统计指定目录下指定类型文件的行数
- 博客分类:
- linux
需求:通知指定项目下面指定类型文件(java、properties、xml等)的行数
关键代码:
#!/bin/bash
#统计指定目录下面指定类型文件的行数
targetDirFile=$1;
fileType="*."$2;
totalLines=0;
while read line
do
let count=$(find $line -type f -name "$fileType" | xargs cat | wc -l);
之前一直想在自己的电脑上安装oracle数据库及plsql客户端,各种尝试,最开始尝试在centos上安装oracle,但是缺失各种插件,插件一个一个安装,最后还是安装失败。之后转向在windows(减少了插件的安装)上安装oracle,数据库倒是安装成功了,但是plsql客户端配置不好。今天专门抽时间在专门的虚拟机上安装oracle和plsql,经过查找资料,最后安装成功,特此记录。
1、安装文件下载
1.1、 windows 64版本oracle安装文件下载。
1.2、oracle客户端instantclient_11_2(其他版本应该也可以)下载。
...
目的:将参数代表的文件中的内容正序和反序输出来
程序在one文件中,代码如下:
#! /usr/bin/perl
use strict ;
use warnings ;
my $count = 0 ;
my @contents ;
while (defined(my $line = <>)){
$count += 1 ;
push @contents , $line ;
print "$line" ;
}
print "===========reverse print== ...
查看占用指定端口的进程
- 博客分类:
- linux
根据端口号,查找对应的进程,具体如下:
1、netstat -alp | grep 2181
2、根据得到的进程号3567去获取具体的进程:ps -aux | grep 3567
3、我们得到端口2181是被zookeeper占用了
MySQL自定义函数编写
- 博客分类:
- mysql
需求:对于数据库中的记录,如果有两条连续的数据的value字段的值相同,则发邮件通知相关人员。
需求分析:告警系统里面的告警检查是通过SQL来进行的,一般的SQL实现不了此功能,因此,这里可以通过函数的方式来实现。
具体实现如下:
1、数据表准备:tb_config_record。新建数据表脚本如下:
create table tb_config_record (id int ,status varchar(20), value varchar(20), updated_at datetime, updated_by varchar(20), create ...
一、问题的提出
一个操作执行select * from tb_trade_record where product_type = ‘BOOK’语句,假设表tb_trade_record初始时有1000000行数据,整个select过程持续10分钟。会话1在8:00发起这个select操作(这时,满足product_type = ‘BOOK’的记录有10000条),8:02时,会话2向tb_trade_record表中插入了2条数据,且product_type = ‘BOOK’,并且已提交,会话1在8:10读取完毕。那么,会话1读出的记录是10000条,还是10002条?
...
mysql explain的使用及理解
- 博客分类:
- mysql
http://blog.csdn.net/dbanote/article/details/17580735
mysql:触发器和存储过程
- 博客分类:
- mysql
1.触发器
1.1 编写触发器
delimiter $
create trigger tg_insertTestWhenInsertUser
after insert on tb_user
for each row
begin
insert into tb_test(id) values(1);
end$
delimiter ;
1.2.查看触发器
mysql> select * from information_schema.`triggers` \G;
*************************** 1. row ************** ...
#!/bin/bash
if [ -z ${log_home} ] ; then
log_home="/tmp/logs/jersey-app"
if [ ! -d ${log_home} ] ; then
mkdir -p ${log_home}
fi
fi
export root_dir=$0/..
export GRADLE_OPTS=" -XX:PermSize=128M -XX:MaxPermSize=256m -Xnoagent -Djava.compiler=NONE -Xde ...
jdk动态代理实现原理
- 博客分类:
- java
jdk的动态代理即使用反射来实现,具体由Proxy、InvocationHandler等类来实现的。
具体调用过程比较难理解,但是如果看到生成的代理类就不难理解了。
代码如下:
接口类:Calculator.java
package com.yangjianzhou.javaBasics;
/**
* Created by yangjianzhou on 16-5-8.
*/
public interface Calculator {
public int add(int operator1 , int operator2);
}
实现类 ...
1.Autowired
通过spring的依赖注入功能来装配(注入)bean,这个注入动作是通过org.springframework.beans.factory.config.BeanPostProcessor来进行的,因此,BeanPostProcessor或者BeanFactoryPostProcessor中的引用不能通过Autowired来注入
2.疑问:Autowired与InjectParam的区别
3.Autowired与Resource的区别
(1).Autowired是spring的注解,Resource是jdk的注解
(2).Autowire ...
spring常见配置作用
- 博客分类:
- java
一般应用中常见spring的配置的作用
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.spr ...