java 学习参考

转载一:
Java面试题及答案整理(2021最新版)
《Java 最常见的 208 道面试题》的答案已经全部更新完了,
些答案是团长自己总结的,也有些答案是在网上搜集整理的。
这些答案难免会存在一些错误,仅供大家参考。如果发现错误还望大家多多包涵,不吝赐教,谢谢~

团长特意整理出这个目录,方便大家平时复习和收藏哈。希望正在准备面试的朋友们能顺顺利利找到自己心仪的工作,加油!!!

1、Java 最常见的 208 道面试题(第一模块答案):https://urlify.cn/JVFVVf
2、Java 最常见的 208 道面试题(第二模块答案):https://urlify.cn/qMzy6j
3、Java 最常见的 208 道面试题(第三模块答案):https://urlify.cn/BBniii
4、Java 最常见的 208 道面试题(第四模块和第五模块答案):https://urlify.cn/2iaeUv
5、Java 最常见的 208 道面试题:第六模块答案:https://urlify.cn/vIJVrm
6、Java 最常见的 208 道面试题(第七模块答案):https://urlify.cn/nUfM7n
7、Java 最常见的 208 道面试题(第八模块答案):https://urlify.cn/e2quIb
8、Java 最常见的 208 道面试题(第九模块和第十模块答案):https://urlify.cn/vmqUVb
9、Java 最常见的 208 道面试题(第十一模块答案):https://urlify.cn/a2e6zu
10、Java 最常见的 208 道面试题(第十二模块答案):https://urlify.cn/yuuMZr
11、Java 最常见的 208 道面试题(第十三模块答案):https://urlify.cn/NvIjM3
12、Java 最常见的 208 道面试题(第十四模块答案):https://urlify.cn/6NZZZb
13、Java 最常见的 208 道面试题(第十五模块答案):https://urlify.cn/ANvUFv/
14、Java 最常见的 208 道面试题(第十六模块答案):https://urlify.cn/viyu2y
15、Java 最常见的 208 道面试题(第十七模块答案):https://urlify.cn/jyYBn2/
16、Java 最常见的 208 道面试题(第十八模块答案):https://urlify.cn/jaE3ia
17、Java 最常见的 208 道面试题(第十九模块答案):https://urlify.cn/3iARve
好的东西要和朋友一起分享,记得将这篇目录分享给你身边正在准备面试的朋友哈~

参考:
https://www.fangzhipeng.com/javainterview.html

msvc

官方下载地址: https://support.microsoft.com/zh-cn/topic/最新支持的-visual-c-下载-2647da03-1eea-4433-9aff-95f26a218cc0

Visual Studio各个版本对应关系

名字版本号简称全称
msvc70VC7.0VS2002Microsoft Visual Studio 2002
msvc71VC7.1VS2003Microsoft Visual Studio 2003
msvc80VC8.0VS2005Microsoft Visual Studio 2005
msvc90VC9.0VS2008Microsoft Visual Studio 2008
VC10.0VS2010Microsoft Visual Studio 2010
VC11.0VS2012Microsoft Visual Studio 2012
VC12.0VS2013Microsoft Visual Studio 2013
VC13.0VS2014Microsoft Visual Studio 2014
VC14.0VS2015Microsoft Visual Studio 2015
VC15.0VS2017Microsoft Visual Studio 2017
VC16.0VS2019Microsoft Visual Studio 2019
参考2

时间名称内部版本C 类语言Basic 类语言Java 类语言其它语言.NET Framework.NET Core_MSC_VER备注
2021.02Visual Studio 201916.8Visual C# 2019

Visual C++ 2019

Visual Basic 2019Visual F# 20193.5
4.5.2
4.6 4.6.1 4.6.24.7 4.7.1 4.7.2
4.8
1.0 1.1 2.0 3.01924最低支持 Win7 SP1
2018.11Visual Studio 201715.9Visual C# 2017

Visual C++ 2017

Visual Basic 2017Visual F# 20173.5
4.0
4.5 4.5.1 4.5.24.6 4.6.1 4.6.2
4.7 4.7.1 4.7.2
1.0 1.1 2.01916基于
.NET Framework 4.6最低支持
Win7 SP1不再支持
WinXP
2015.07Visual Studio 2015 RTM14.0Visual C# 2015

Visual C++ 2015

Visual Basic 2015Visual F# 20152.0 3.0 3.5

4.0
4.5 4.5.1 4.5.2
4.6

1900基于
.NET Framework 4.5.2RTMRelease to Manufacturing
2014.11Visual Studio 201514.0Visual C# 2015

Visual C++ 2015

Visual Basic 2015Visual F# 20152.0 3.0 3.5

4.0
4.5 4.5.1 4.5.2
4.6

1900首次发布

VisualStudio Community

2013.10Visual Studio 201312.0Visual C# 2013

Visual C++ 2013

Visual Basic 2013Visual F# 20132.0 3.0 3.5

4.0 4.5 4.5.1 4.5.2

1800
2012.08Visual Studio 201211.0Visual C# 2012

Visual C++ 2012

Visual Basic 2012Visual F# 20122.0 3.0 3.5 4.0 4.51700
2010.04Visual Studio 201010.0Visual C# 2010

Visual C++ 2010

Visual Basic 2010Visual F#2.0 3.0 3.5 4.01600添加 F#
2007.11Visual Studio 20089.0Visual C# 2008

Visual C++ 2008

Visual Basic 20082.0 3.0 3.51500移除 J#
2005.11Visual Studio 20058.0Visual C# 2005

Visual C++ 2005

Visual Basic 2005Visual J# 2.02.01400.NET从名称中移除
2003.04Visual Studio .NET 20037.1Visual C# 2003

Visual C++ 2003

Visual Basic 2003Visual J# 1.11.11310
2002.02Visual Studio .NET 20027.0Visual C# 2002

Visual C++ 2002

Visual Basic 2002Visual J# 1.01.01300以 J# 取代 J++

移除 FoxPro 与 J++

1998.06Visual Studio 6.06.0Visual C++ 6.0Visual Basic 6.0Visual J++ 6.0Visual FoxPro 6.01200
1997.02Visual Studio 975.0Visual C++ 5.0Visual Basic 5.0Visual J++ 1.1Visual FoxPro 5.01100
1995.04Visual Studio4.0Visual C++ 4.0Visual Basic 3.0Visual FoxPro 4.0初版

参考:
http://dt.digitser.cn/zh-CN/download/msvcpp_redist.html

WebGIS 系统

参考: https://blog.csdn.net/shyjhyp11/article/details/96350149
参考: https://blog.csdn.net/kaizqn/article/details/34140081

参考:
GIS解决方案(1):geoserver+openlayers+mysql设计思想
https://blog.csdn.net/menergy/article/details/10277809

— MapInfo
mapinfo12.5, ​.tab图层转换为.shp图层, 由原始的.wor地图得到最初的.mxd地图,即.shp图层集
http://www.ddooo.com/softdown/77374.htm

— ArcGIS Server,mxd,

— udig, shp图层及其样式编辑
http://udig.refractions.net/download/

docker-java

===============
常见错误,应用无法显示验证码
java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion 验证码无法显示
在Docker运行
Alpine 系统:

sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
apk add fontconfig
apk add --update ttf-dejavu
fc-cache --force

===============
➜ 方案2:

项目采用docker进行构建运行,如果每次都需要重新安装此组件,很耗时。

采取另一种措施:重新构建一个基础镜像(安装好依赖,用于支持验证码功能)。

后续其他镜像基于此基础镜像做构建。

参考Dockerfile如下:

vim Dockerfile

Dockerfile内容如下:

FROM openjdk:8-alpine
#ADD ./test.jar /opt/App/test.jar
#拷贝字体文件
#COPY ./simhei.ttf /usr/share/fonts/simhei.ttf
#设置字符集
ENV LANG en_US.UTF-8
# RUN apk --update add font-config ttf-dejavu
# RUN rum -rf /var/cache/apk/*
RUN sed -i '3s/#//' /etc/apk/repositories
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories



RUN apk add --update --no-cache ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
EXPOSE 8080
ENTRYPOINT ["java", "-jar"]
CMD ["test.jar"]

 

 

当前目录构建:

docker build -t myjava .

后续业务镜像基于新的基础镜像构建:

# FROM openjdk:8-jdk-alpine
FROM myjava
ADD *.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Duser.timezone=GMT+08","-jar","/app.jar"]
EXPOSE 8080

===============

#Dockerfile
From openjdk:13-jdk-alpine
#设置字符集
ENV LANG en_US.UTF-8
# RUN apk --update add font-config ttf-dejavu
# RUN rum -rf /var/cache/apk/*
RUN sed -i '3s/#//' /etc/apk/repositories
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories 
RUN apk add --update --no-cache ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
RUN apk add tzdata  && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime    && echo "Asia/Shanghai" > /etc/timezone 
CMD ["/bin/sh"]

#编译模板
docker build -t myjava:11 -f ./Dockerfile .

#运行服务
#docker stop api
#docker rm api
docker run -itd --restart=unless-stopped --name api -v $(pwd):/app  -p 8081:8081 apnode/apnode:jdk8 java -jar /app/api.jar --spring.profiles.active=prod --server.port=8081

参考:
https://markix.blog.csdn.net/article/details/106470920
https://blog.csdn.net/jeikerxiao/article/details/109334619

docker-postgis

0712 更新
Postgre postgis 版本关系

注意修改密码

docker run -d --restart=always  --name vbox-postgis -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgis/postgis:13-3.1-alpine 

#拉取最新的postgresql12+postgis3.0的镜像
docker pull geographica/postgis
#生成容器
docker run -d --name sm-postgis -p 5432:5432 -e POSTGRES_PASSWORD=postgres  geographica/postgis:latest

#进入postsql终端
docker exec -ti sm-postgis psql -U postgres

#进入bash终端
docker exec -ti sm-postgis bash
#参考2
docker run -d --name dz-postgis -p 5432:5432 -e POSTGRES_PASSWORD=postgres  postgis/postgis
docker exec -ti dz-postgis psql -U postgres

 


# Docker部署Geoserver
# 获取镜像
docker pull kartoza/geoserver
# 启动容器
# docker run -d -p 8080:8080 --name geoserver kartoza/geoserver:2.16.2
docker run -d -p 8080:8080 --name geoserver kartoza/geoserver
# 将主机的/data/geoserver_data挂载到容器的/etc/letsencrypt下
# mkdir -p /data/geoserver
docker run -d -v /data/geoserver:/etc/letsencrypt -p 8080:8080 --name geoserver kartoza/geoserver
# 进入终端
docker exec -it geoserver bash
#打开 http://对应IP地址:8080
#登录(使用默认用户名和密码)
#Username: admin
#Password: geoserver

为postgresql安装postgis扩展模块:
1、安装postgis
2、在指定数据库下执行下面语句
CREATE EXTENSION postgis
3、验证:执行下面语句不报错即可
SELECT ST_SetSRID(ST_Point(-87.71,43.741),4326),ST_GeomFromText(‘POINT(-87.71 43.741)’,4326)

4. 可选扩展


-- postgis的基本核心功能,仅支持地理图形(矢量要素),在其他Extension前启用。
CREATE EXTENSION postgis;

-- 对栅格数据的支持。
CREATE EXTENSION postgis_raster;

-- 拓扑功能的支持。
CREATE EXTENSION postgis_topology;

-- TIGER指的是(拓扑集成地理编码和参考),这个是美国人口普查局的GIS数据,提供了美国全国的行政区划、交通道路、水系等空间数据。
-- 这个Extension提供了TIGER数据的地理编码支持,需要注意的是这个Extension启用前,需要先启用fuzzystrmatch(字符串模糊查询)Extension,
-- 以及可选的address_standardizer(TIGER数据地址规则化)
-- address_standardizer_data_us(地址规则化示例数据集)Extension。
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;

-- 这个Extension主要是集成了CGAL[2](Computational Geometry Algorithms Library,计算几何算法库),
-- 来进行三维空间数据的空间运算,例如[3]、ST_3DDifference、ST_3DUnion 等,可见是通常空间运算在三维空间上的拓展。

CREATE EXTENSION postgis_sfcgal; 

-- 这个Extension可以利用OGR读取外部的GIS数据(例如Shepfile),其实是结合了OGR和PostgreSQL的foreign data wrappers。
CREATE EXTENSION ogr_fdw;

-- pgrouting提供了对路网的分析支持,包括双向Dijkstra最短路径等10多种功能。
-- debian下安装 apt install postgresql-X-pgrouting
CREATE EXTENSION pgrouting;

-- 提供对LiDAR点云的支持,提供对点云数据的存储。这个很有意思,这里多说一点。启用pointcloud Extension的PostgreSQL 数据库,
-- 可以利用PDAL进行LiDAR点云数据的读取和保存。PADL是一个用于读取点云数据的转换和处理库,它替代了LibLAS,
-- 所以PADL+pointcloud PostgreSQL可以作为一个不错的点云数据管理方案。
--  apt install postgresql-X-pointcloud
CREATE EXTENSION pointcloud;
CREATE EXTENSION pointcloud_postgis;

5. 可选扩展2


-- 安装扩展成功以后,就可以通过uuid_generate_v4()或uuid_generate_v1()查询
create extension "uuid-ossp";  

6. Postgis,火星坐标,转换,函数
geoc-pg-coordtransform
geoc-pg-coordtransform.sql

参考
https://help.aliyun.com/document_detail/279473.html
https://zhuanlan.zhihu.com/p/159103073
https://blog.csdn.net/fct2001140269/article/details/102955584
https://blog.csdn.net/u010206379/article/details/109764629