最后
现在其实从大厂招聘需求可见,在招聘要求上有高并发经验优先,包括很多朋友之前都是做传统行业或者外包项目,一直在小公司,技术搞的比较简单,没有怎么搞过分布式系统,但是现在互联网公司一般都是做分布式系统。
所以说,如果你想进大厂,想脱离传统行业,这些技术知识都是你必备的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。
- 系统管理【菜单、权限、角色、用户管理】
- 其他管理【登录日志、系统公告、图标管理】
- 新闻管理【新闻管理、通知管理】
- 留言管理
- 活动管理
- 轮播管理
- 登录注册
- 校园简介
- 学生风采
- 育儿宝典
- 儿童乐园
- 许愿池
=========================================================================
☀️门户首页☀️
☀️校园简介☀️
☀️学生风采☀️
☀️许愿池☀️
☀️菜单管理☀️
☀️权限管理☀️
☀️角色管理☀️
☀️用户管理☀️
☀️新闻管理☀️
☀️活动管理☀️
☀️留言管理☀️
☀️轮播管理☀️
=========================================================================
代码如下(示例):
/**
@RequestMapping(“loadIndexLeftMenuJson”)
public DataGridView loadIndexLeftMenuJson(PermissionVo permissionVo){
//查询所有菜单
QueryWrapper queryWrapper = new QueryWrapper();
//设置查询条件
//查询的必须是菜单,不能是crud的权限
queryWrapper.eq(“type”, Constant.TYPE_MENU);
//菜单必须可用
queryWrapper.eq(“available”, Constant.AVAILABLE_TRUE);
//获得用户 判断用户的类型
User user = (User) ServletUtils.getSession().getAttribute(“user”);
List list = null;
if (user.getType().equals(Constant.USER_TYPE_SUPER)){
//用户类型为超级管理员
list = permissionService.list(queryWrapper);
}else {
//用户类型为 普通用户
//根据用户ID+角色+权限去查询
Integer userId = user.getId();
//1.根据用户ID查询角色
List currentUserRoleIds = roleService.queryUserRoleIdsByUid(userId);
//2.根据角色ID查询菜单ID和权限ID
//使用set去重
Set pids = new HashSet<>();
for (Integer rid : currentUserRoleIds) {
//根据角色ID查询菜单ID和权限ID
List permissionIds = roleService.queryRolePermissionIdsByRid(rid);
//将菜单ID和权限ID放入Set中去重
pids.addAll(permissionIds);
}
//3.根据角色ID查询权限
if (pids.size()>0){
queryWrapper.in(“id”,pids);
list = permissionService.list(queryWrapper);
}else {
list=new ArrayList<>();
}
}
List treeNodes = new ArrayList();
for (Permission p : list) {
Integer id =p.getId();
Integer pid = p.getPid();
String title = p.getTitle();
String icon = p.getIcon();
String href = p.getHref();
Boolean spread = p.getOpen().equals(Constant.OPEN_TRUE)?true:false;
treeNodes.add(new TreeNode(id,pid,title,icon,href,spread));
}
//构造层级关系
List list2 = TreeNodeBuilder.build(treeNodes,1);
return new DataGridView(list2);
}
代码如下(示例):
/**
/**
-
加载菜单左边的菜单树
-
@param permissionVo
-
@return
*/
@RequestMapping(“loadMenuManagerLeftTreeJson”)
public DataGridView loadMenuManagerLeftTreeJson(PermissionVo permissionVo){
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq(“type”, Constant.TYPE_MENU);
//查询出所有的菜单,存放进list中
List list = permissionService.list(queryWrapper);
List treeNodes = new ArrayList<>();
//将菜单放入treeNodes中,组装成json
for (Permission menu : list) {
Boolean open = menu.getOpen()==1?true:false;
treeNodes.add(new TreeNode(menu.getId(),menu.getPid(),menu.getTitle(),open));
}
return new DataGridView(treeNodes);
}
代码如下(示例):
最后
我想问下大家当初选择做程序员的初衷是什么?有思考过这个问题吗?高薪?热爱?
既然入了这行就应该知道,这个行业是靠本事吃饭的,你想要拿高薪没有问题,请好好磨练自己的技术,不要抱怨。有的人通过培训可以让自己成长,有些人可以通过自律强大的自学能力成长,如果你两者都不占,还怎么拿高薪?
架构师是很多程序员的职业目标,一个好的架构师是不愁所谓的35岁高龄门槛的,到了那个时候,照样大把的企业挖他。为什么很多人想进阿里巴巴,无非不是福利待遇好以及优质的人脉资源,这对个人职业发展是有非常大帮助的。
如果你也想成为一名好的架构师,那或许这份Java核心架构笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
中高级开发必知必会:
Java核心架构笔记**你需要阅读阅读,希望能够对你的职业发展有所帮助。
中高级开发必知必会:
[外链图片转存中…(img-kVlMxg29-1715638600118)]