java学习

java学习

 

2020年8月7日

java 二分法查询数据

public int binarySearch(long value) {
int middle = 0;
int low = 0;
int pow = arr.length;

while(true) {
middle = (pow + low) / 2;
if(arr[middle] == value) {
return middle;
} else if(low > pow) {
return -1;
} else {
if(arr[middle] > value) {
pow = middle - 1;
} else {
low = middle + 1;
}
}
}
}

posted @ 2020-08-07 11:00 杨军威 阅读(9) | 评论 (0)编辑 收藏

2020年7月30日

redis windows安装

1.首先先把下载的压缩包解压到一个文件夹中
2.打开cmd指令窗口
3.输入你刚才解压的文件路径
4.然后输入redis-server redis.windows.conf 命令

接下来部署Redis为windows下的服务 首先关掉上一个窗口再打开一个新的cmd命令窗口

然后输入指令redis-server --service-install redis.windows.conf
随后,进入右击此电脑–管理–服务和应用程序–服务 启动服务
Redis常用的指令
卸载服务:redis-server --service-uninstall
开启服务:redis-server --service-start
停止服务:redis-server --service-stop
测试redis,通过cd到我们解压的目录,输入指令通过Set get指令查看是否成功

posted @ 2020-07-30 11:08 杨军威 阅读(13) | 评论 (0)编辑 收藏

2020年7月23日

修改了表结构,canal监控报错

检查配置文件/canal.deployer-1.1.1/conf/canal.properties
canal.instance.tsdb.spring.xml=classpath:spring/tsdb/h2-tsdb.xml
以及
# table meta tsdb info
canal.instance.tsdb.enable=true
canal.instance.tsdb.dir=${canal.file.data.dir:../conf}/${canal.instance.destination:}
canal.instance.tsdb.url=jdbc:h2:${canal.instance.tsdb.dir}/h2;CACHE_SIZE=1000;MODE=MYSQL;
canal.instance.tsdb.dbUsername=canal
canal.instance.tsdb.dbPassword=canal
检查 tsdb是否已经开启 
如果都已开启还是有这个问题 则需要清除canal对表结构的缓存
conf/example/h2.mv.db
问题2:找不到binlog日志文件
清空缓存
canal.deployer-1.1.1/conf/example/meta.dat

posted @ 2020-07-23 10:12 杨军威 阅读(25) | 评论 (0)编辑 收藏

2020年5月18日

git 添加 gitignore

常规的windows操作

  • 根目录下创建gitignore.txt;
  • 编辑gitignore.txt,写下你的规则,例如加上node_modules/;
  • 打开命令行窗口,切换到根目录(可以直接在文件夹上面的地址栏输入cmd回车);
  • 执行命令ren gitignore.txt .gitignore。
在.gitignore中已经声明了忽略路径也是不起作用的,
这时候我们就应该先把本地缓存删除,然后再进行git的提交,这样就不会出现忽略的文件了。
  
解决方法: git清除本地缓存(改变成未track状态),然后再提交:
[root@kevin ~]# git rm -r --cached .
[root@kevin ~]# git add .
[root@kevin ~]# git commit -m 'update .gitignore'
[root@kevin ~]# git push -u origin master

posted @ 2020-05-18 16:55 杨军威 阅读(21) | 评论 (0)编辑 收藏

2020年4月27日

k8s 安装

安装k8s
systemctl disable firewalld
systemctl stop firewalld
yum update
yum install -y etcd kubernetes


vim /etc/kubernetes/apiserver
KUBE_ADMISSION_CONTROL改为下面的值
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRange
 vi /etc/kubernetes/manifests/kube-apiserver.yaml
--service-node-port-range: 1-65535
systemctl start etcd
systemctl start docker
如果启动docker 失败,修改 /etc/sysconfig/selinux 
     把 selinux后面改成 disabled , 重启机器,reboot -n  再启动docker就好了
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy
kubectl create -f mytomcat-rc.yaml

posted @ 2020-04-27 13:37 杨军威 阅读(39) | 评论 (0)编辑 收藏

2020年4月21日

jenkins 编译并生成docker镜像

clean package docker:build -DpushImage

posted @ 2020-04-21 12:15 杨军威 阅读(32) | 评论 (0)编辑 收藏

2020年4月20日

DockerMaven的使用

1.使用DockerMaven,可以实现我们项目一键式部署,简便操作流程。
Maven插件自动部署步骤:
 a.首先我们要设置docker的宿主机开启权限.
修改宿主机的docker配置,让其可以远程访问     vi /lib/systemd/system/docker.service
其中ExecStart=后添加配置 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
 b.刷新配置,重启服务
     systemctl daemon-reload
     systemctl restart docker
     docker start registry
 c.在工程pom.xml 增加配置
<build>
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker的maven插件,官网:https://github.com/spotify/docker-maven-plugin
-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>192.168.184.141:5000/${project.artifactId}:${project.version}
</imageName>
<baseImage>jdk1.8</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]
</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost>http://192.168.184.141:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>

d.进入微服务项目路径  执行 mvn install

 e.然后执行mvn docker:build -DpushImage  执行完后会有输出
f.访问  http://192.168.1.9:5000/v2/_catalog  查看镜像是否上传成功

posted @ 2020-04-20 15:56 杨军威 阅读(60) | 评论 (0)编辑 收藏

2020年4月16日

oracle interval分区

create table SAP_E_DSOQQZT_TMP
(
  id          NUMBER not null,
  request     NUMBER,
)
tablespace USERS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 16K
    next 8K
    minextents 1
    maxextents unlimited
  )
  partition by range(request) interval(1000000) 
(
partition SAP_E_DSOQQZT_part values less than(700000000)
);
-- Add comments to the columns 
comment on column SAP_E_DSOQQZT_TMP.id
  is 'ID';
comment on column SAP_E_DSOQQZT_TMP.request
  is '请求号';
-- Create/Recreate indexes 
create index FCREATETIMEA on SAP_E_DSOQQZT_TMP ( REQUEST)
  tablespace ZHFXBEMS
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 1847M
    next 1M
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate primary, unique and foreign key constraints 
alter table SAP_E_DSOQQZT_TMP
  add constraint PK_SAP_E_DSOQQZTA primary key (ID)
  using index 
  tablespace USERS
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 112M
    next 1M
    minextents 1
    maxextents unlimited
  );
第二步:判断表是否可以在线从新定义
begin
 dbms_redefinition.can_redef_table('ERPSU','SAP_E_DSOQQZT',DBMS_REDEFINITION.CONS_USE_PK);
 end;
第三步:开始执行数据的迁移(30分钟)
begin
 DBMS_REDEFINITION.START_REDEF_TABLE('ERPSU','SAP_E_DSOQQZT', 'SAP_E_DSOQQZT_TMP');
end;
第四步:进行权限对象的迁移
 DECLARE
num_errors PLS_INTEGER;
BEGIN
DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS('ERPSU','SAP_E_DSOQQZT', 'SAP_E_DSOQQZT_TMP',
DBMS_REDEFINITION.CONS_ORIG_PARAMS, TRUE, TRUE, TRUE, TRUE, num_errors);
END;
第五步:结束整个重定义
BEGIN
DBMS_REDEFINITION.FINISH_REDEF_TABLE('ERPSU','SAP_E_DSOQQZT', 'SAP_E_DSOQQZT_TMP');
END;
第六步,删除临时表  SAP_E_DSOQQZT_TMP
万一哪一步出错,执行:
BEGIN
DBMS_REDEFINITION.ABORT_REDEF_TABLE(uname => 'ERPSU',
orig_table => 'SAP_E_DSOQQZT',
int_table => 'SAP_E_DSOQQZT_TMP'
);
END;
-----------------------------------------------------------------------------

posted @ 2020-04-16 17:11 杨军威 阅读(19) | 评论 (0)编辑 收藏

2020年4月12日

docker 命令

删除所有的docker镜像
docker rmi `docker images -q`   (`符号是esc下面的按键)
交互式方式创建容器
docker run -it --name=容器名称 镜像名称:标签 /bin/bash
进入守护式的容器
docker exec -it 容器名称 /bin/bash
-i  表示运行容器
-t  表示容器启动后进入容器命令行,容器创建后可以登录进去
--name  给容器命名
-v  表示目录映射关系(前者是宿主机目录,后者是容器目录),可以用多个-v做多个目录或者文件映射,最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d  创建一个守护容器在后台运行,如果只加-i-t,创建后会自动进去容器。
-p  表示端口映射,前者是宿主机端口,后者是容器内的端口,可以多个端口映射
docker stop 容器id      (停止容器)
docker start 容器id      (停止容器)
向容器内复制文件
docker cp 需要复制的文件目录  容器:容器内的目录
从容器内复制文件
docker cp  容器:容器内的目录 需要复制的文件目录

posted @ 2020-04-12 17:31 杨军威 阅读(23) | 评论 (0)编辑 收藏

2020年4月8日

centos7 安装docker

 1、yum包更新到最新
  sudo yum update
    2 、安装需要的软件包
 sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    3、设置yum源为阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    4、 安装docker
 sudo yum install docker-ce
    5、查看版本
 docker -v
6、修改镜像下载源
 vi /etc/docker/daemon.json
写入:
{
"registry-mirrors": ["http://docker.mirrors.ustc.edu.cn"]
}
7、启动docker
systemctl start docker
8、docker 开机自动启动
systemctl enable docker

posted @ 2020-04-08 14:14 杨军威 阅读(31) | 评论 (0)编辑 收藏

仅列出标题  下一页

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜