先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
正文
{
“tabBar”: {
“color”: “#c30”,
“selectedColor”: “#0ff”,
“backgroundColor”: “#ccc”,
“borderStyle”: “white”,
“list”: [
{
“pagePath”: “pages/index/index”,
“text”: “首页”,
“iconPath”: “/images/home.png”,
“selectedIconPath”: “/images/home (1).png”
},{
“pagePath”: “pages/logs/logs”,
“text”: “日志”
},{
“pagePath”: “pages/test/test”,
“text”: “案例”
}
]
},
}
-
iconfont 图标官网:https://www.iconfont.cn/
-
搜索图标,点击下载,建议尺寸为 81px * 81px
1.3.1.5、debug
-
可以在开发者工具中开启
debug
模式,在开发者工具的控制台面板,调试信息以info
形式给出 -
其信息有 Page 的注册,页面路由,数据更新,事件触发等。可以帮助开发者快速定位一些常见的问题。
{
“debug”: true
}
1.3.2、页面配置:页面名称.json
-
每一个小程序页面也可以使用同名
.json
文件来对本页面的窗口表现进行配置 -
页面中配置项会覆盖
app.json
的window
中相同的配置项。 -
文件内容是一个 json 对象,有如下属性,这里只记录常用属性
-
官方文档:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/page.html
| 属性 | 类型 | 默认值 | 描述 |
| — | — | — | — |
| navigationBarBackgroundColor | HexColor | #000000 | 导航栏背景颜色,如 #000000
|
| navigationBarTextStyle | string | white | 导航栏标题颜色,仅支持 black
/ white
|
| navigationBarTitleText | string | | 导航栏标题文字内容 |
| navigationStyle | string | default | 导航栏样式,仅支持以下值:
default
默认样式
custom
自定义导航栏,只保留右上角胶囊按钮。 |
| backgroundColor | HexColor | #ffffff | 窗口的背景色 |
| backgroundTextStyle | string | dark | 下拉 loading 的样式,仅支持 dark
/ light
|
| backgroundColorTop | string | #ffffff | 顶部窗口的背景色,仅 iOS 支持 |
| backgroundColorBottom | string | #ffffff | 底部窗口的背景色,仅 iOS 支持 |
| enablePullDownRefresh | boolean | false | 是否开启当前页面下拉刷新。 |
| disableScroll | boolean | false | 设置为 true
则页面整体不能上下滚动。 只在页面配置中有效,无法在 app.json
中设置 |
1.3.3、sitemap配置:sitemap.json
-
sitemap配置:用于被微信搜索爬取页面(其实就是提高小程序的曝光量)
-
小程序根目录下的
sitemap.json
文件用于配置小程序及其页面是否允许被微信索引,文件内容为一个 JSON 对象 -
如果没有
sitemap.json
,则默认为所有页面都允许被索引;了解即可
我们知道,在 index 目录下存在 index.js、index.json、index.wxml、index.wxss 四个文件,这其实就是我们的 index 页面所需要的。那么如果我们想新建页面,难道还需要新建四次上述文件吗?其实是不需要的,我们只需要在 app.json 中的 pages 数组中添加我们的页面即可自动生成上述四种文件。
1.5.1、view组件
-
view 组件就和我们的 div 盒子一样,一行只能放一个。
-
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/view.html
属性如下:
| 属性 | 类型 | 默认值 | 说明 |
| — | — | — | — |
| hoer-class | string | none | 指定按下去的样式类。
当hover-class="none"
时,没有点击态效果 |
| hover-stop-propagation | boolean | false | 指定是否阻止本节点的祖先节点出现点击态 |
| hover-start-time | number | 50 | 按住后多久出现点击态,单位毫秒 |
| hover-stay-time | number | 400 | 手指松开后点击态保留时间,单位毫秒 |
点击
.click {
background-color: green;
}
1.5.2、text组件
-
text组件主要是用来显示文字的,一行可以放多个
-
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/text.html
属性如下:
| 属性 | 类型 | 默认值 | 说明 |
| — | — | — | — |
| user-select | boolean | false | 文本是否可选,该属性会使文本节点显示为 inline-block |
| space | string | 否 | 显示连续空格 |
| decode | boolean | false | 是否解码 |
其中 space 的合法值如下:
| 值 | 说明 |
| — | — |
| ensp | 中文字符空格一半大小 |
| emsp | 中文字符空格大小 |
| nbsp | 根据字体设置的空格大小 |
1.5.3、input组件
-
input组件主要用来获取用户输入的信息的,一般在用户填写信息,提交数据,登录注册时会用到。
-
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/input.html
-
它有如下常用属性
| 属性 | 类型 | 默认值 | 说明 |
| — | — | — | — |
| value | string | | 输入框的初始内容 |
| type | string | text | input 的类型 |
| password | boolean | false | 是否是密码类型 |
| placeholder | string | | 输入框为空时占位符
(value和placeholder同时使用时,value的优先级更高) |
| disabled | boolean | false | 是否禁用 input 输入框 |
| maxlength | number | 140 | 最大输入长度,设置为 -1 时不限制最大长度 |
| confirm-type | string | done | 设置键盘右下角按钮的文字,仅在 type=“text” 时生效 |
| bindinput | eventhadnle | 是 | 键盘输入时触发。
event.detail = {value,cursor,KeyCode}
KeyCode 为键值,处理函数可以直接return一个字符串,将替换输入框的内容 |
| bindfocus | eventhandle | 是 | 输入框聚焦时触发
event.detail = {value,height}
height 为键盘高度 |
| bindblur | eventhandle | 是 | 输入框失去焦点时触发
event.detail = {value,encryptedValue,encryptError}
|
| bindconfirm | eventhandle | 是 | 点击完成按钮时触发
event.detail = {value}
|
| | | | |
其中 type 的合法值如下:
| 值 | 说明 |
| — | — |
| text | 文本输入键盘 |
| number | 数字输入键盘 |
| idcard | 身份证输入键盘 |
| digit | 带小数点的数字键盘 |
| safe-password | 密码安全输入键盘 |
其中 confirm-type 的合法值如下:
| 值 | 说明 |
| — | — |
| send | 右下角按钮为"发送" |
| search | 右下角按钮为"搜索" |
| next | 右下角按钮为"下一个" |
| go | 右下角按钮为"前往" |
| done | 右下角按钮为"完成" |
1.5.4、button组件
-
button组件是按钮组件,自带默认的按钮效果
-
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/button.html
-
它有如下常用属性
| 属性 | 类型 | 默认值 | 说明 |
| — | — | — | — |
| size | string | default | 按钮的大小 |
| type | string | default | 按钮的样式类型 |
| plain | boolean | false | 按钮是否镂空(背景透明色) |
| disabled | boolean | false | 是否禁用 |
| loading | boolean | false | 名称前是否带 loading 图标 |
| form-type | string | | 用于 form 组件,点击分别会触发 form 组件的 submit/reset 事件 |
| open-type | string | | 微信开放能力 |
| | | | |
| | | | |
其中 size 的合法值为:
| 值 | 说明 |
| — | — |
| default | 默认大小 |
| mini | 小尺寸 |
其中 type 的合法值:
| 值 | 说明 |
| — | — |
| primary | 绿色 |
| default | 白色 |
| warn | 红色 |
其中 open-type 的合法值如下:
| 值 | 说明 |
| — | — |
| contact | 打开客服会话,如果用户在会话中点击消息卡片后返回小程序,可以从 bindcontact 回调中获得具体信息 |
| share | 触发用户转发 |
| getPhoneNumber | 获取用户手机号,可以从bindgetphonenumber回调中获取到用户信息 |
| getUserInfo | 获取用户信息,可以从bindgetuserinfo回调中获取到用户信息 |
| launchApp | 打开APP,可以通过app-parameter属性设定向APP传的参数 |
| openSetting | 打开授权设置页 |
| feedback | 打开“意见反馈”页面,用户可提交反馈内容并上传日志,开发者可以登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到反馈内容 |
1.5.5、image组件
-
image组件是图片组件,支持 JPG、PNG、SVG、WEBP、GIF 等格式
-
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/image.html
-
它有如下常用属性
| 属性 | 类型 | 默认值 | 说明 |
| — | — | — | — |
| src | string | | 图片资源地址(由于小程序最大只有2MB,所以我们的图片肯定都是远程) |
| mode | string | sacleToFill | 图片裁剪、缩放的模式 |
| webp | boolean | false | 默认不解析 webP 格式,只支持网络资源 |
| lazy-load | boolean | false | 图片懒加载,在即将进入一定范围(上下三屏)时才开始加载 |
| show-menu-by-longpress | boolean | false | 长按图片显示发送给朋友、收藏、保存图片、搜一搜、打开名片/前往群聊/打开小程序(若图片中包含对应二维码或小程序码)的菜单 |
| binderror | eventhandle | | 当错误发生时触发 |
| bindload | eventhandle | | 当图片载入完毕时触发 |
其中 mode 的常用合法值如下:
| 值 | 说明 |
| — | — |
| scaleToFill | 缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 |
| aspectFit | 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。 |
| aspectFill | 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。 |
| widthFix | 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变 |
| heightFix | 缩放模式,高度不变,宽度自动变化,保持原图宽高比不变 |
1.5.6、navigator组件
-
navigator组件是页面链接组件。
-
官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html
1.5.7、scroll-view组件
-
scroll-view组件是滚动视图组件
-
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html
111
222
333
444
555
666
.srcOut{
display: flex;
width: 600px;
}
.srcBox{
width: 100px;
height: 100px;
background-color: red;
margin-right: 2px;
}
111
222
333
444
555
666
.srcOut{
height: 600px;
}
.srcBox{
width: 100px;
height: 100px;
background-color: red;
margin-top: 2px;
}
1.5.8、swiper组件
-
swiper组件是滑块视图容器,其中只可放置swiper-item组件
-
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html
-
它有如下常用属性
| 属性 | 类型 | 默认值 | 说明 |
| — | — | — | — |
| indicator-dots | boolean | false | 是否显示面板指示点(也就是轮播图下面的小点) |
| indicator-color | color | rgba(0,0,0,.3) | 指示点颜色 |
| indicator-active-color | color | #000000 | 当前选中的指示点颜色 |
| autoplay | boolean | false | 是否自动切换 |
| current | number | 0 | 当前所在滑块的 index |
| interval | number | 5000 | 自动切换时间间隔 |
| duration | number | 5000 | 滑块动画时长 |
| circular | boolean | false | 是否采用衔接滑动 |
| vertical | boolean | false | 滑动方向是否为纵向 |
| easing-function | string | “default” | 指定 swiper 切换缓动动画类型 |
| bindchange | eventhandle | | current 改变时会触发 change 事件 |
| bindtransition | eventhandle | | swiper-item 的位置发生改变时会触发 transition 事件 |
| bindanimationfinish | eventhandle | | 动画结束时会触发 animationfinish 事件 |
其中 easing-function 的合法值如下:
| 值 | 说明 |
| — | — |
| default | 默认缓动函数 |
| linear | 线性动画 |
| easeInCubic | 缓动动画 |
| easeOutCubic | 缓动动画 |
| easeInOutCubic | 缓入缓出动画 |
-
./
代表目前所在的目录 -
../
代表上一层目录 -
/
代表根目录
1.5.9、checkbox组件
-
checkbox 组件是多选组件
-
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/checkbox.html
未选中多选框
选中多选框
选中多选框的颜色
中国
美国
韩国
日本
1.5.10、switch组件
-
switch组件,开关选择器
-
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/switch.html
知其然不知其所以然,大厂常问面试技术如何复习?
1、热门面试题及答案大全
面试前做足功夫,让你面试成功率提升一截,这里一份热门350道一线互联网常问面试题及答案助你拿offer
2、多线程、高并发、缓存入门到实战项目pdf书籍
3、文中提到面试题答案整理
4、Java核心知识面试宝典
覆盖了JVM 、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB 、Cassandra、设计模式、负载均衡、数据库、一致性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
以然,大厂常问面试技术如何复习?
1、热门面试题及答案大全
面试前做足功夫,让你面试成功率提升一截,这里一份热门350道一线互联网常问面试题及答案助你拿offer
[外链图片转存中…(img-yfCZJ4MM-1713705123258)]
2、多线程、高并发、缓存入门到实战项目pdf书籍
[外链图片转存中…(img-vyKl7dlm-1713705123259)]
[外链图片转存中…(img-x7fppGAM-1713705123259)]
[外链图片转存中…(img-Cmyq3Ifh-1713705123260)]
3、文中提到面试题答案整理
[外链图片转存中…(img-tUbqXNdD-1713705123261)]
4、Java核心知识面试宝典
覆盖了JVM 、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB 、Cassandra、设计模式、负载均衡、数据库、一致性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入
[外链图片转存中…(img-0AEVaEPB-1713705123261)]
[外链图片转存中…(img-2METW5yN-1713705123262)]
[外链图片转存中…(img-ZKp7I63K-1713705123262)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-qz8G1vg8-1713705123263)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!