- 博客(53)
- 收藏
- 关注
原创 AutoCAD之DWF三维信息提取---linux编译篇
创建dev 写工程源文件,include放置第三方头文件,lib放置编译好的第三方静态和动态链接库,也即jsoncpp(用哪个版本就用哪个版本的头文件),dwfcore,dwftoolkit (src目录中的头文件)注意生成动态链接库的时候,如果其他链接的是静态链接库,会提示我用fpic编译,即使用fpic编译其他链接库,也依然报错,所以最后直接用动态链接库链接。具体使用时,Linux下,小工程可手动写Makefile,大工程用automake来帮你生成Makefile,要想跨平台,就用cmake。
2024-04-12 23:48:21
945
原创 Netty04-优化与源码
四. 优化与源码1. 优化1.1 扩展序列化算法序列化,反序列化主要用在消息正文的转换上序列化时,需要将 Java 对象变为要传输的数据(可以是 byte[],或 json 等,最终都需要变成 byte[])反序列化时,需要将传入的正文数据还原成 Java 对象,便于处理目前的代码仅支持 Java 自带的序列化,反序列化机制,核心代码如下// 反序列化byte[] body = new byte[bodyLength];byteByf.readBytes(body);ObjectIn
2021-12-19 23:56:26
187
原创 Netty03-进阶
三. Netty 进阶1. 粘包与半包1.1 粘包现象服务端代码public class HelloWorldServer { static final Logger log = LoggerFactory.getLogger(HelloWorldServer.class); void start() { NioEventLoopGroup boss = new NioEventLoopGroup(1); NioEventLoopGroup worke
2021-12-19 23:55:54
183
原创 Netty02-入门
二. Netty 入门1. 概述1.1 Netty 是什么?Netty is an asynchronous event-driven network application frameworkfor rapid development of maintainable high performance protocol servers & clients.Netty 是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端1.2 Netty 的作者[外
2021-12-19 23:55:05
447
转载 Netty01-nio
一. NIO 基础non-blocking io 非阻塞 IO1. 三大组件1.1 Channel & Bufferchannel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 stream 要么是输入,要么是输出,channel 比 stream 更为底层#mermaid-svg-Peaedb4R7RNvzQ8Q .label{font-family:'trebuche
2021-12-19 23:54:25
166
转载 编写脚本:后台运行java程序
1. 编写start.sh解析nohup java -Dfile.encoding=GBK -Xmx3000M -cp ./lib/PrdCommon.jar:./lib/PrjTrade.jar com.ylink.TradeServer >output.log 2>&1 &tail -f output.log说明:1)nohup代表忽略hup挂起信号,即不挂起2)java代表启动java程序的java命令3)-Dfile.encoding=GBK代表设置J
2021-07-13 15:36:24
1976
原创 图片上传(ftp+vue+springboot+ruoyi)
图片上传(ftp+vue+springboot+ruoyi)1. 问题分析:前端通过el-upload实现图片上传后端获取到MultipartFile类型的数据,将图片上传到ftp服务器上,然后返回上传后的相对路径,并返回给前端前端拿到返回后的相对路径(url),存入form表单,一起传给后端,保存到数据库前端通过请求得到的url,拼凑http字符串赋给src进行显示2. 后端上传工具类:文件上传到ftp服务器的工具类FtpUtilsupload上传文件到ftp服务器down
2021-06-11 21:37:16
2136
原创 python面向对象语法
面向对象编程面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定义的对象数据类型就是面向对象中的类(Class)的概念例如:class Student(object): def __init__(self, name, score): self.name = name
2021-02-03 18:58:04
200
1
原创 python语法进阶
高级特性1.1切片取一个list或tuple的部分元素是非常常见的操作切片的第一个冒号左右的数字表示的是位置信息取前N个元素,也就是索引为0-(N-1)的元素,可以用循环:>>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']>>> r = []>>> n = 3>>> for i in range(n):... r.append(L[i])..
2021-02-03 18:57:13
404
1
原创 廖雪峰Python基础笔记
python1.第一个python程序交互模式(>>>)退出用exit()打印使用print()函数,打印的内容可以用单引号或者双引号括起来,但是不能够混用命令行模式,可以输入python进入交互模式,也可以通过命令 python hello.py 来运行一个python文件交互模式下查看py文件内容的命令 more hello.py,前提是在对应的文件目录下交互模式下接收输入name=input() 然后通过name可以输出内容2.python基础注释以#号开头就是
2021-02-03 18:56:22
360
1
原创 AES
AES问题:密钥为十六进制的字符串密文为十六进制的字符串AES操作过程加密//1.将明文转化为字节数组 byte[] data = message.getBytes("UTF-8");// 2.将密钥也转为字节数组byte[] key=...// 3. 加密 encrypted// 3.1 创建cipher (译为密码 Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");// 模式,填充// 3.2
2021-01-28 20:45:31
116
转载 购买和搭建阿里云服务器
购买步骤购买学生机[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wiPRpY2A-1611717813841)(C:\Users\hello\AppData\Roaming\Typora\typora-user-images\image-20201101103127574.png)]获取服务器公网ip,修改实例名称和密码,重启Linux学生机界面[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uVtnp3nG-161171781
2021-01-27 11:28:40
111
原创 linux
Linux常用的基本命令用户主目录一般为root目录。而cd /则可以打开根目录。cp --h 或 man 命令类似的–h可以查看命令的使用目录管理:ls ls -a 所有目录包括隐藏文件ls -l 包含文件的权限和属性cd cd .. 打开上一级目录cd ~ 打开用户主目录 cd root也是打开主目录cd /root/chen/dir2 通过绝对路径查找文件cd / 打开根目录,所有文件都挂在根目录下pwd 当前所在文件夹mkdir 创建一个目录rmdir 删除一个
2021-01-27 11:22:08
226
原创 docker
docker的安装查看系统版本[root@iz2ze9n36uysr6g8wtg6nsz /]# cat /etc/os-releaseNAME="CentOS Linux"VERSION="7 (Core)"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="7"PRETTY_NAME="CentOS Linux 7 (Core)"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:centos:centos:7"HOME_U.
2021-01-27 11:19:05
336
原创 git&github
基本概念一Repository 仓库Star 收藏项目Fork 复制仓库,独立存在Pull Request:发起请求 fork的仓库,修改之后,pull request给原来的账号的仓库,如果有感觉不错可以合并到原仓库中Watch 关注 关注后的仓库,当仓库发生改变时,可以在主页上看到Issue 事务卡片 可用来讨论代码bug二GitHub主页左侧显示动态,右侧自己的信息仓库主页项目代码,版本,收藏关注fork个人主页创建项目/仓库
2021-01-22 14:41:57
252
原创 初始redis记录
# 1.文档型数据库MongoDB#2.图片分布式文件系统FastDFS- hadoop : HDFS-淘宝 : TDS- 阿里云 :OOS# 3.搜索- Isearch 多隆- 搜索引擎 elasticSearch# 4.内存数据库redis# 5.思想层面的提高远比知识更重要# 列存储数据库HBase#key-value数据库ccRedis内存存储高速缓存发布订阅系统地图信息在linux服务器上搭建redis:连接:切换数据库red
2020-12-24 09:42:00
178
原创 springcloud
背景微服务# 微服务解决的四个核心问题1. 服务有很多,客户端怎么访问2. 这么多服务之间如果通信3. 这么服务如何治理4. 服务挂了怎么办# 微服务的解决方案1. Spring Cloud NetFlix 一站式解决方案 api网关 ————》 zuul组件 Fegin-----》httpClient------》http通信的方式,同步,阻塞 服务注册与发现------》Eureka 熔断机制----------》 Hystrix 2. apache Dubbo + Z
2020-12-23 08:47:39
324
1
原创 SpringMVC常用注解&请求参数绑定&回显
@RequestMappingpath 指定请求路径的urlvalue value属性和path属性是一样的mthod 指定该方法的请求方式params 指定限制请求参数的条件headers 发送的请求中必须包含的请求头PostMappingGetMapping请求参数绑定1.收集普通参数提交表单的name名称与参数名称相同即可(get方式一样可以获取)区分大小写不同的话的可以使用@Requestparam(@RequestParam(va
2020-12-10 20:31:17
392
1
原创 SpringMVC快速使用
感悟:总体上理解知识点,先抓住知识点的脉络,再去抠细节,效率更高SpringMVC快速入门使用注意:必须配置tomcat的deployment注解开发注意同时必须完成"/"的映射,及相当于设置了首页,不然核心控制器的url-pattern写为/的话一直报错。 @RequestMapping("/") public String index(){ return "cc"; }1.配置的方式开发SpringMVC目的:帮助理解原理1.1创建项目导入依
2020-12-10 20:24:23
156
原创 mysql主从复制
环境说明主从服务器最好数据库的版本都一样windows为主机,配置文件为my.inilinux 为从机 配置文件为my.cnf主机配置在my.ini中的 mysqlId进行一下配置主服务器唯一id :server-id=1启用二进制日志:log-bin=自己本地的路径/mysqlbin【可选】启用错误日志:log-err=自己本地的路径/mysqlerr【可选】read-only=0 主机读写都可以【可选】binlog-ignore-db=mysql 设置不要复.
2020-12-09 21:38:17
94
原创 mybatis一对多等
resultMap属性和resultType属性区别resultType :指定输出结果的类型(pojo、简单类型、hashmap…),将sql查询结果映射为java对象 。使用resultType注意:sql查询的列名要和resultType指定pojo的属性名相同,指定相同 属性方可映射成功,如果sql查询的列名要和resultType指定pojo的属性名全部不相同,list中无法创建pojo对象的。resultMap:将sql查询结果映射为java对象。如果sql查询列名和最终要映射的p
2020-12-09 21:36:27
136
原创 mybatis全局配置&映射文件
全局配置文件全局配置文件结构properties属性可在外部配置(db.properties),且可动态替换,亦可在子元素property中配置内部配置:外部配置settings 设置改变mybatis的运行时行为<settings> <setting name="cacheEnabled" value="true"/> <setting name="lazyLoadingEnabled" value="true"/>
2020-12-09 21:34:32
315
原创 mybatis基础
ORM常见的ORM框架有Hibernate和MybaitsMybatis快速入门创建一个空的maven项目 【参考jdbcTest项目】1. 导入开发包或者依赖Mybatismysql-connecter-javalog4j (日志系统,日志框架,“是真正的日志实现”)commons-logging (日志接口)同时创建数据库2. 准备工作(pojo,DB,配置logger)创建数据库创建实体类<?xml version="1.0" encoding="UTF-
2020-12-08 20:28:47
101
原创 jdbc&连接池&DButils&分页
jdbc基本操作jdbc操作顺序导入驱动包,或者引入依赖1.装载驱动Class.forName("com.mysql.jdbc.Driver");2.获取连接对象 connectionConnection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/zhongfucheng", "root", "1234");3.获取执
2020-12-08 20:23:52
200
原创 过滤器监视器应用
过滤器之编码get方式的解码无法通过request设置。需要增强request。sun公司也知道我们可能对request对象的方法不满意,于是提供了HttpServletRequestWrapper类给我们实现(如果实现HttpServletRequest接口的话,要实现太多的方法了!类似静态代理的增强request:import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWra
2020-12-06 18:16:14
131
原创 servlet之过滤器&监听器
过滤器过滤器其实很简单就是实现Filter接口的java类,接口中有init(),doFilte(),destroy()方法。init()和destory()方法就不用多说了,他俩跟Servlet是一样的。只有在Web服务器加载和销毁的时候被执行,只会被执行一次!值得注意的是doFilter()方法,**它有三个参数(ServletRequest,ServletResponse,FilterChain),**从前两个参数我们可以发现:过滤器可以完成任何协议的过滤操作FilterChain是一个接
2020-12-06 18:13:10
280
原创 tomcat与servlet
tomcat配置默认主页在web.xml中添加 <welcome-file-list> <welcome-file>helloword2.html</welcome-file> </welcome-file-list>配置虚拟目录将web站点放在webapps之外的文件夹,需要在tomcat的server.xml中进行配置,在host标签下添加; <Context path="/web1"
2020-12-06 18:07:50
645
原创 servlet之session&cookie
会话技术可以简单理解为:浏览器打开到关闭就是一次会话session和cookie可以实现会话跟踪技术,功能有重叠一般结合使用session和cookie结合使用的例子:用户访问浏览器,服务器生成JESSIONID,JESSIONID是一个cookie,每次http请求会携带此cookie,用来让服务器知道选择哪个session,即JESSIONID相当于session的id。(因为服务器中存这好多用户的会话session),这个过程由服务器自动完成。会话技术可以:记住浏览的商品,可以识别用户,可以
2020-12-06 17:56:45
1061
原创 java之多线程
java多线程1.线程的创建的三种方式继承Thread类自定义线程类继承Thread类重写run()方法,编写线程执行体创建线程对象,调用start()方法启动线程public class TestThread extends Thread { @Override public void run() { //run方法为线程体 for (int i = 0; i < 20; i++) { System.out.
2020-12-06 17:52:06
226
原创 JUC -java.util.current
JUC基础回顾1.sleep与wait的区别:来自不同的的类sleep来着Threadwait来着Object关于锁的释放wait会释放锁sleep抱着锁睡觉,不会释放锁使用的位置不同wait必须在同步代码块中使用而sleep可以在任何地方使用2.线程的6中状态NEW新生RUNNABLE运行BLOCKED阻塞WAITING等待,死死的等待TIMED_WAITING超时等待,超时后不再等待TREMINATED终止3.写多线程的正确姿势sync
2020-12-06 17:50:37
327
原创 java之静态代理和动态代理
静态代理这里有一个程序员接口,他们每天就是写代码public interface Programmer { // 程序员每天都写代码 void coding();}Java3y也是一个程序员,他也写代码(每个程序员写的代码都不一样,所以分了接口和实现类)public class Java3y implements Programmer { @Override public void coding() { System.out.println(
2020-12-06 17:47:38
127
原创 java之泛型
泛型Generic1.解决的问题解决存储的安全性问题解决获取数据元素时,需要类型强转的问题public class TestGeneric { //在集合中没有使用泛型的时候 public static void main(String[] args) { List list=new ArrayList(); list.add(89); list.add(90); list.add(69); //
2020-12-06 17:45:45
193
原创 加密与安全学习笔记
加密与安全编码算法URL编码:URL编码总是大写将URL中的数据进行编码URL编码规则如果字符是A~Z,a~z,0~9以及-、_、.、*,则保持不变;如果是其他字符,先转换为UTF-8编码,然后对每个字节以%XX表示。Base64:原理是把3字节的二进制数据按6bit一组,用4个int整数表示,然后查表,把int整数用索引对应到字符,得到编码后的字符串。Base64编码可以把任意长度的二进制数据变为纯文本,且只包含A`Z`、`a`z、0~9、+、/、=这
2020-10-27 11:48:31
320
3
原创 学习笔记-java日期和时间
日期与时间Date和Calendar(java.util)计算机内存储的时间是一个时间戳,各种不同时区的时间只是对时间戳的不同展示罢了,Epoch Time又称为时间戳,是long类型1574208900表示从从1970年1月1日零点GMT时区到该时刻一共经历了1574208900秒,换算成伦敦、北京和纽约时间分别是:1574208900 = 北京时间2019-11-20 8:15:00 = 伦敦时间2019-11-20 0:15:00 = 纽约时
2020-10-25 16:55:14
199
原创 java集合
集合(学习笔记)1.java集合框架分析:存储对象可以使用数组和集合数组存储对象:Student[] stu =new Student[20] ;stu[0]=new Student();…弊端:创建后,其长度不可变真实存了几个对象并不可知Iterator接口 (迭代器)用来遍历集合中的元素Iterator i= coll.iterator();//Coll为接口Collection的实现类对象while(i.hasNext()){ System.out
2020-07-04 09:36:21
127
原创 Markdown 学习笔记(typora书写)
Markdown 学习笔记(typora书写)1.标题使用#号就行2.字体1.粗体:两边都加两个星号,快捷键Ctrl +B。例:粗体2.斜体:两边一个星号,快捷键。例:ctrl+I 。例如:斜体3.斜体加粗:三个星号,快捷键。例如:斜体加粗4.删除线:两边两个波浪线,快捷键 shift+alt+5。例如:删除线3.引用1.使用>,例如选择typora,贼好用4.分割线1.三个杠-,然后回车就是一个分割线,或三个星号5.图片1.英文状态下感叹号加中括号,括号写图片名,
2020-06-09 21:10:24
1142
原创 neo4j
1.登录命令cd E:\2020寒假\neo4j\neo4j-community-3.5.5-windows\neo4j-community-3.5.5\binneo4jlocalhost:74742.基本语法定义变量:(a)定义属性:{}可用运算符:正则表达式:=~字符串匹配:start with,ends with,contains创建节点:cr...
2020-02-19 22:54:20
177
原创 mysql命令
启动数据库 :net start mysql登录数据库:mysql -u root -p关闭数据库:net stop mysql退出exit密码设置 set password for root@localhost=password(‘1234’);刷新flush privileges;...
2020-02-17 21:52:24
117
原创 java反射
反射:框架设计的灵魂* 框架:半成品软件。可以在框架的基础上进行软件开发,简化编码* 反射:将类的各个组成部分封装为其他对象,这就是反射机制 * 好处: 1. 可以在程序运行过程中,操作这些对象。 2. 可以解耦,提高程序的可扩展性。* 获取Class对象的方式: 1. Class.forName("全类名"):将字节码文件加载进内存,返回Class对象 * 多用于配置文...
2020-02-11 16:25:38
219
原创 java注解
注解:* 概念:说明程序的。给计算机看的* 注释:用文字描述程序的。给程序员看的* 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。* 概念描述: * JDK1.5之后的新特性 * 说明程序的 * 使...
2020-02-11 16:20:32
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人