会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Johar
博客园
首页
新随笔
联系
订阅
管理
[置顶]
拖拽TreeViewItem到OCX控件
摘要: 由于C#在性能方面,和C++还是有不少的差距,所以在项目中有一块是用C++的OCX控件实现,然后包括在WPF项目中。由于C++,C#属于不同的体系架构,造成了许多问题,特使是拖拽TreeViewItem到OCX控件上面,两者的渲染方式不同,OCX控件一直显示在最前面,所以拖拽的时候,看不见拖拽的Ad
阅读全文
posted @ 2018-11-27 21:58 Johar
阅读(882)
评论(0)
推荐(1)
[置顶]
WPF TreeView IsExpanded 绑定不上的问题
摘要: 最近项目上需要通过MVVM来控制TreeView,其中需要需要控制通过搜索来定位某个节点,正常逻辑下,首先通过需要在树上面找到该节点,然后选中该节点,并将该节点的父节点展开,这个时候需要通过MVVM来控制,需要绑定起来,只是一直没有binding上,代码如下: MVVM示例代码: 界面代码: 数据的
阅读全文
posted @ 2018-10-31 23:42 Johar
阅读(2120)
评论(0)
推荐(1)
[置顶]
WPF TreeView BringIntoViewBehavior
摘要: 由于项目需要,需要能够定位TreeView中的点,TreeView的节点数过多的情况下,即使找到了对应的节点并选中展示了,由于不在可视区域内,给用户的感觉还是不好,因此设计如下的Behavior,来实现选中的TreeViewItem显示在可见区域: 然后在TreeView中设置一下这个依赖属性为Tr
阅读全文
posted @ 2018-10-15 17:24 Johar
阅读(956)
评论(3)
推荐(1)
[置顶]
WPF ListBox的进阶使用(二)
摘要: 项目中经常使用需要根据搜索条件查询数据,然后用卡片来展示数据。用卡片展示数据时,界面的宽度发生变化,希望显示的卡片数量也跟随变化。WrapPanel虽然也可以实现这个功能,但是将多余的部分都留在行尾,十分不美观,最好是能够将多余的宽度平分在每个ListBoxItem之间,比较美观,也符合项目需求。如
阅读全文
posted @ 2018-08-30 19:34 Johar
阅读(1598)
评论(0)
推荐(0)
[置顶]
WPF ListBox的进阶使用(一)
摘要: 公司项目有个需求,UI界面支持动态平均分割界面,想了想便想到用ListBox来实现,用UniformGrid作为ListBox的ItemsPanelTemplate,通过动态改变UniformGrid的Columns属性,可以动态分割界面。具体实现如下所示: 对应的ViewModel层代码: 软件运
阅读全文
posted @ 2018-08-30 19:18 Johar
阅读(7593)
评论(0)
推荐(1)
[置顶]
双缓冲队列解决WPF界面卡死
摘要: 工作中的项目,CS客户端会通过MQ接收前端设备发送的信息,之前测试的时候,由于测试的数据不大,没有进行压力测试,软件可以正常工作,随着项目现场设备数量的增加,CS客户端从MQ中订阅的数据量不断增加,最终导致,客户端界面卡死。原来的数据流程图如下: 这个数据流程,在数据不大的情况下,是没有什么问题,数
阅读全文
posted @ 2018-07-27 23:10 Johar
阅读(1216)
评论(0)
推荐(0)
[置顶]
C# 对接Https接口
摘要: 最近公司项目需要对接Https接口,将对接的代码整理如下:
阅读全文
posted @ 2018-05-25 23:55 Johar
阅读(7253)
评论(3)
推荐(0)
[置顶]
软件架构的六大设计原则
摘要: 软件设计原则: 1.单一职责原则(Single Responsibility Principle) 单一职责原则的定义是:“There should never be more than one reason for a class to change.”,也就是有且仅有一个原因引起类的变更。这样可
阅读全文
posted @ 2018-05-12 11:51 Johar
阅读(3697)
评论(0)
推荐(0)
2020年3月13日
FeignClient接口封装
摘要: Feign是一种声明式、模块化的HTTP客户端。在SpringCloud中使用Feign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样,开发者完全无感知在进行HTTP请求调用。 1.接口定义 首先在单独的module中定义接口: @FeignClient(name ="com.joha
阅读全文
posted @ 2020-03-13 23:12 Johar
阅读(1861)
评论(0)
推荐(0)
CentOS修改root密码
摘要: 在不知道root密码情况下,修改CentOS root用户密码:sudo i passwd
阅读全文
posted @ 2020-03-13 23:10 Johar
阅读(452)
评论(0)
推荐(0)
2020年2月12日
并发编程的挑战(Java并发编程的艺术)
摘要: 1.上下文切换 CPU通过给每个线程分配CPU时间片来实现并发,切换过程中线程的信息从保存到再加载就是一个上下文切换。由于频繁的进行上下文切换,会消耗资源,所以并发不一定比串行快。 可以通过Lmbench3测量上下文切换的时长;可以通过vmstat测量上下文切换的次数。 减少上下文切换的方法: (1
阅读全文
posted @ 2020-02-12 23:13 Johar
阅读(219)
评论(0)
推荐(0)
2020年2月1日
Java并发编程
摘要: 互联网的快速发展,Java开发的过程或多或少会需要进行并发编程,也会遇到一些并发编程带来的各种bug。下面从并发编程的理论、并发工具类、并发设计模式、并发模型案例,记录一下自己的学习历程。 1.并发编程理论 并发编程的来源于缓存导致的可见性问题,线程切换带来的原子性问题,编译优化带来的有序性问题。J
阅读全文
posted @ 2020-02-01 23:19 Johar
阅读(213)
评论(0)
推荐(0)
2019年12月6日
PropertySource顺序
摘要: Spring Boot使用一个非常特殊的PropertySource顺序,该顺序旨在允许合理地覆盖值。按以下顺序考虑属性: $HOME/.config/spring boot当devtools处于活动状态时,文件夹中的Devtools全局设置属性。 @TestPropertySource 测试中的注
阅读全文
posted @ 2019-12-06 23:29 Johar
阅读(864)
评论(0)
推荐(0)
2019年8月17日
运行期优化 Java内存模型与线程 线程安全与优化
摘要:   
评论(0)
推荐(0)
2019年8月6日
垃圾收集器与内存分配策略
摘要:   
评论(0)
推荐(0)
2019年7月31日
代码重构之道案例优化
摘要: 重构是在不改变软件可观察行为的前提下改善其内部结构 书中的案例如下: 以一个影片出租店用的程序,计算每位顾客的消费金额并打印详单。输入条件:顾客租了那些影片、租期多长;输出:费用根据租赁时间和影片类型计算,积分根据是否是新片而不同。影片分为三类:普通片、儿童片、新片: 优化之后整体布局如下: 关键部
阅读全文
posted @ 2019-07-31 23:23 Johar
阅读(235)
评论(0)
推荐(0)
Java内存区域与内存溢出
摘要:
阅读全文
posted @ 2019-07-31 00:22 Johar
阅读(123)
评论(0)
推荐(0)
2019年7月14日
pg数据库data文件夹达到32G
摘要: 最近工作中遇到pg数据库data文件夹大小达到32G,大致的排查流程如下: 1.首先查看是哪个文件或者那些文件比较大; 2.根据文件的名称找到对应的数据表a; 3.确认数据表a中数据实际上只有3000条左右,数据量没有这么大; 4.经过对实际业务场景排查,这个表a是用来记录数据库表数据变化的表,其他
阅读全文
posted @ 2019-07-14 23:13 Johar
阅读(648)
评论(0)
推荐(0)
下一页
公告
点击右上角即可分享